0

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

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

这是我的一些 PDF 保存代码,位于“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

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

如果我只有一个宏/模块/main() 子程序,它就会出现。但是当我添加其他模块时,它是空白的。

我检查了这个答案这个答案,但它们对这个问题没有帮助。

显示方法下拉列表为空

4

1 回答 1

1

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

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

于 2021-10-06T20:25:41.827 回答