我已经创建了几个我想注册的自定义函数。目前,我有一个不同的程序,我为每个功能指定了注册(该部分没有问题)。但是,我知道注册所有这些函数的唯一方法是在另一个过程中按名称调用每个宏,如下所示:
Sub spRegisterFunctions()
Call spRegisterCUSTOMAfunction
Call spRegisterCUSTOMBfunction
Call spRegisterCUSTOMCfunction
Call spRegisterCUSTOMDfunction
End Sub
我实际上正在寻找更具动感的内容,以便每次创建新功能时,它都会相应的" spRegister ......"程序,我不必记得添加" Call"代码到" Sub spRegisterFunction()"该特定功能的程序。
这是尝试做的一个例子:
Sub spRegisterFunctions()
Dim mc as Macro
For Each mc in VBProject("NameOfProject").Module("NameOfModule")
If Left(mc.Name,10)="spRegister" then
Call mc
End If
Next mc
End Sub
正如您所看到的,我尝试在特定模块中运行任何名称以" spRegister"开头的宏。显然,上面的代码不起作用,部分原因是其中一些对象甚至不存在。
有没有办法做到这一点?