运行 来自 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