Solidworks 宏按钮 - 方法下拉列表为空

Solidworks macro button - method dropdown is empty

我在 SolidWorks VBA 中制作了两个宏(一个用于保存 PDF 文件,一个用于保存 DXF 文件),我想分享一些常用代码。这应该很容易,通过从其他模块调用子过程(例如 call module.sub())。

我有两个模块(一个用于 PDF,一个用于 DXF),另外两个调用一个“共享”模块。

这是我的一些 PDF-saving 代码,在“pdf”模块中。 “dxf”模块是相同的,除了它调用 shared_module.shared_sub("dxf") 而不是 shared_module.shared_sub("pdf").

Sub save_pdf()
    ' Calls the shared module to save a PDF file this time
    call shared_module.shared_sub("pdf")    
End Sub

这是我的一些“shared_module”代码:

Dim swApp As SldWorks.SldWorks
Dim swModel As ModelDoc2


Sub shared_sub(byval file_extension as String)

    ' get the solidworks application object
    Set swApp = Application.SldWorks
    
    ' get the current opened document object
    Set swModel = swApp.ActiveDoc

    ' do some shared stuff here, with the "file_extension" string
    ...

End Sub

我的问题是,当我创建或编辑宏按钮时,“方法:”下拉菜单是空的...知道为什么吗?

如果我只有一个 macro/module/main() 子例程,它就会显示出来。但是当我添加其他模块时,它是空白的。

我检查了 this answer and ,但他们对这个问题没有帮助。

我已经解决了这个问题,只需将我所有的潜艇放入同一个模块即可。似乎如果有多个模块,“创建宏按钮”下拉菜单不知道在哪里寻找“方法”...

将它们全部放在一个模块中而不是单独的模块没什么大不了的。