运行 来自 VBA IDE 的 VBA 例程?
Run a VBA routine from VBA IDE?
我想从 VBA 项目中获取例程列表,然后 运行 用户选择的宏。
下图显示了原生的“宏”框。我想将此功能扩展到跨多个文档的多个宏。
我发现这个 link 解决了问题的第一部分。现在我有了我的列表,我如何 运行 按名称选择例程?
您好,欢迎来到 SO
下面是如何使用代码执行 VBA 宏的代码示例。您需要在 select 个文档和宏中添加一些形式才能执行。这取决于您的实施。
Sub RunMacroUsingCode()
Dim vbaProjectName As String
vbaProjectName = "InventorVBA"
Dim vbaModuleName As String
vbaModuleName = "m_Tests"
Dim vbaMacroName As String
vbaMacroName = "RunMultipleMacrosTestCall"
Dim vbaProject As InventorVBAProject
For Each vbaProject In ThisApplication.VBAProjects
If vbaProject.name = vbaProjectName Then Exit For
Next
Dim vbaModule As InventorVBAComponent
For Each vbaModule In vbaProject.InventorVBAComponents
If vbaModule.name = vbaModuleName Then Exit For
Next
'Using result is optional
Dim result As Variant
Call vbaModule.InventorVBAMembers(vbaMacroName).Execute(result)
End Sub
Function RunMultipleMacrosTestCall()
Call MsgBox("TEST")
RunMultipleMacrosTestCall = True
End Function
我想从 VBA 项目中获取例程列表,然后 运行 用户选择的宏。
下图显示了原生的“宏”框。我想将此功能扩展到跨多个文档的多个宏。
我发现这个 link 解决了问题的第一部分。现在我有了我的列表,我如何 运行 按名称选择例程?
您好,欢迎来到 SO
下面是如何使用代码执行 VBA 宏的代码示例。您需要在 select 个文档和宏中添加一些形式才能执行。这取决于您的实施。
Sub RunMacroUsingCode()
Dim vbaProjectName As String
vbaProjectName = "InventorVBA"
Dim vbaModuleName As String
vbaModuleName = "m_Tests"
Dim vbaMacroName As String
vbaMacroName = "RunMultipleMacrosTestCall"
Dim vbaProject As InventorVBAProject
For Each vbaProject In ThisApplication.VBAProjects
If vbaProject.name = vbaProjectName Then Exit For
Next
Dim vbaModule As InventorVBAComponent
For Each vbaModule In vbaProject.InventorVBAComponents
If vbaModule.name = vbaModuleName Then Exit For
Next
'Using result is optional
Dim result As Variant
Call vbaModule.InventorVBAMembers(vbaMacroName).Execute(result)
End Sub
Function RunMultipleMacrosTestCall()
Call MsgBox("TEST")
RunMultipleMacrosTestCall = True
End Function