VBA在OnAction中包含子例程参数
我有一些代码来构buildExcel VBA中的菜单,如下所示:
For Each Thing In Array("Foo", "Bar", "Baz") With .Controls.Add(Type:=msoControlButton) .Caption = "Run with " & Thing .FaceId = 2934 .OnAction = "'" & ThisWorkbook.Name & "'!" & "RunWith" & Thing End With Next Thing Sub RunWithFoo() RunWith "Foo" End Sub Sub RunWithBar() RunWith "Bar" End Sub Sub RunWithBaz() RunWith "Baz" End Sub Sub RunWith(Thing) ...etc
有没有办法直接调用RunWith而不通过RunWithFoo
等辅助方法?
这是一个例子
Sub Sample() Dim Thing Thing = "Sid" Application.OnKey "^{s}", "'RunWith""" & Thing & """'" End Sub Sub RunWith(Thing) MsgBox Thing End Sub