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
我在组织 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