Combobox 组合框列表:当单击或突出显示组合框中的某个项目时,如何执行代码?

Combobox 组合框列表:当单击或突出显示组合框中的某个项目时,如何执行代码?,combobox,vb6,Combobox,Vb6,我正在为自己构建一个方便的应用程序。这是一个包含其他程序链接的程序,因此我可以从中心位置启动它们。我已经有了设计,但我希望我的应用程序在组合框中单击某个项目时启动一个程序。例如:Microsoft Office Word是该列表中的一个项目,当我单击它时,我希望它启动Microsoft Office Word。我该怎么做?Arready尝试了以下方法: Private Sub programCombo_Click() 'If programCombo.List(1) = "Word" The

我正在为自己构建一个方便的应用程序。这是一个包含其他程序链接的程序,因此我可以从中心位置启动它们。我已经有了设计,但我希望我的应用程序在组合框中单击某个项目时启动一个程序。例如:Microsoft Office Word是该列表中的一个项目,当我单击它时,我希望它启动Microsoft Office Word。我该怎么做?Arready尝试了以下方法:

Private Sub programCombo_Click()
  'If programCombo.List(1) = "Word" Then
    'Shell "C:\Program Files\Everything\Everything.exe", vbNormalFocus
  'End If
  Select Case UCase(programCombo.Text)
    Case "Word"
      Shell "C:\Program Files (x86)\Microsoft Office\Office16\WINWORD.EXE", vbNormalFocus
    Case "Excel"
      Shell "C:\Program Files (x86)\Microsoft Office\Office16\Excel.EXE", vbNormalFocus
  End Select
End Sub
但这没什么用。我有点让它工作了,但前提是我编辑了组合框的“Text”属性。当我将“programCombo.List(1)”更改为组合框列表中的第2项时,它什么都不做


我知道我可以用按钮来完成所有这些,但如果我这样做,它将是一个巨大、丑陋和笨拙的程序。

您在描述中说明了需要发生什么-
单击某个项目时启动程序-
-因此解决方案是响应组合框上的
单击事件。下面的代码是我所说内容的一个基本示例

Option Explicit

Private Sub Form_Load()
   programCombo.AddItem "Word"
   programCombo.AddItem "Excel"
End Sub

Private Sub programCombo_Click()
   Select Case UCase(programCombo.Text)
      Case "WORD"
         Shell "C:\Program Files (x86)\Microsoft Office\Office16\WINWORD.EXE", vbNormalFocus
      Case "EXCEL"
         'shell excel
   End Select
End Sub

我想出来了。我有点傻。UCase将其转换为大写,我使用了“Word”而不是“Word”。幸好我找过UCase。谢谢你们的建议


我现在要爬到一个角落里哭了,因为我太笨了。

你需要响应一个事件,比如
点击
。你需要在
programCombo下添加
if
语句。选择了dexchanged
。如果将DropDownStyle设置为DropDownList,并在Items集合下添加值,则会出现这种情况。否则请使用
programCombo.KeyDown
,如果e.KeyCode=Keys,请检查Enter key as
。然后输入
,并在其中使用
If
语句。也将尝试您的解决方案,谢谢!我试过你的密码,但还是没用。一开始它给了我一个错误。告诉我“End select”丢失了,所以他似乎“运行”了代码,但什么都没有启动。用有效的shell命令替换我的注释
shell应用程序
。我知道。我使用了:Shell“C:\ProgramFiles(x86)\MicrosoftOffice\Office16\WINWORD.EXE”,vbNormalFocus,但仍然没有验证您的路径名。在我的计算机上,我成功地用
“C:\Program Files\Microsoft Office 15\root\office15\WINWORD.EXE”
启动了Word。我有Office 2016,而不是2013,因此路径名是正确的。我使用了不同的应用程序,但仍然相同。当我使用一个按钮,它的工作。。。