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