VBA Catia模块组织

时间:2019-03-05 20:48:01

标签: excel vba module catia

我在组织CATIA宏时遇到问题,找不到适合的解决方案。

目前,我有一个大型项目,该项目从较小的项目逐渐发展而来。它是1万行,写在一个模块中。我想通过创建多个注释模块来使其更易于阅读和修改/导航。我有“主”模块和可以调用其他模块的GUI。 问题是CATIA使得我创建的每个模块都可以用作宏。我不希望这样,因为我希望用户为我的主模块创建快捷方式。 我不需要隐藏我的代码,但是如果新用户在导入一个项目时得到20个宏,将很难解释新用户他/她将使用哪个宏。

我尝试使用“选项专用模块”,甚至使用密码,但无法减少该列表中可用宏的数量。我能想到的唯一解决方案(这很疯狂)是将每个过程/函数放在单独的类中。

Example of tree structure in VBA and CATIA macro interface

欢迎您对这个问题有任何经验或想法。

提前谢谢! :)

1 个答案:

答案 0 :(得分:1)

关于将您的过程代码重构为类模块,绝对没有什么是 crazy 的。实际上,我什至会称其为最佳做法

您的宏都可以看起来像这样:

Public Sub DoSomething()
    With New MyAwesomeMacro
        .Execute
    End With
End Sub

Public Sub DoAnotherThing()
    With New SomeOtherMacro
        .Execute
    End With
End Sub

'...

因此,您有一个带有MyAwesomeMacro过程的Execute类模块(可以根据需要接受参数):

Option Explicit

Public Sub Execute()
    'the old macro code here...
End Sub