VBA Catia 模块组织

VBA Catia module organization

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

目前我有一个大项目,它是从小项目发展而来的。它有 10k 行大,并且写在一个模块中。我想通过创建多个注释模块使其更具可读性和更易于修改/导航。我有我的 "Main" 模块和可以调用其他模块的 GUI。 问题是 CATIA 使我创建的每个模块都可以用作宏。我不希望这样,因为我希望用户为我的主模块创建快捷方式。 我不需要隐藏我的代码,但是如果在导入一个项目时有 20 个宏,那么很难向新用户解释哪个宏 he/she 需要使用。

我尝试使用 "option private module" 甚至使用密码,但我无法减少该列表中可用宏的数量。我能想到的唯一解决方案(这很疯狂)是将每个 procedure/function 放在单独的 class.

欢迎任何关于此问题的经验或想法。

提前致谢! :)

将程序代码重构为 class 模块绝对没有任何 疯狂 的地方。事实上,我什至可以称之为最佳实践

您的宏都可以如下所示:

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

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

'...

所以你有一个 MyAwesomeMacro class 模块和一个 Execute 过程(可以根据需要接受参数):

Option Explicit

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