我为自己构建了一个方便的应用程序。它是一个包含其他程序链接的程序,因此我可以从中心位置启动它们。我已经有了设计,但是我希望我的应用程序在组合框中单击一个项目时启动一个程序。例如:Microsoft Office Word是该列表中的项目,当我单击它时,我希望它启动Microsoft Office Word。我怎样才能做到这一点?已经尝试过以下内容:
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项时,它没有做任何事情。
我知道我可以通过按钮完成所有这些操作,但如果我这样做,那将是一个大而丑陋且笨拙的程序。
答案 0 :(得分:0)
您在说明中说明了需要发生的事情 - start a program when an item is clicked
- 因此解决方案是响应组合框上的Click
事件。以下代码是我所谈论的基本示例。
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
答案 1 :(得分:0)
我明白了。我有点傻。 UCase将其转换为大写,我使用" Word"而不是" WORD"。我搜索了UCase的好东西。谢谢你的建议。
我现在要爬到一个角落,因为这么愚蠢而哭泣。