请参考: Run 方法 参阅应用于示例特性运行 Visual Basic 宏
expression.Run(MacroName, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14, varg15, varg16, varg17, varg18, varg19, varg20, varg21, varg22, varg23, varg24, varg25, varg26, varg27, varg28, varg29, varg30) expression 必需。该表达式返回一个 Application 对象。
MacroName String 类型,必需。宏的名称。可以是任意模板、模块和宏名的组合。例如,下面的语句都是有效的:
Application.Run "Normal.Module1.MAIN" Application.Run "MyProject.MyModule.MyProcedure" Application.Run "'My Document.doc'!ThisModule.ThisProcedure" 如果指定了文档名,则此代码只能运行与当前环境有关的文档中的宏,而不是任何文档中的任何宏。
varg1...varg30 Variant 类型,可选。宏参数值。在一个指定的宏中可以用 30 个参数。
说明 虽然 Visual Basic 代码无须使用该方法即可直接调用宏,但是如果宏保存在变量中,该方法将非常有用(详细内容,请参阅本主题的示例)。下列语句具有相同功能:
Normal.Module2.Macro1 Call Normal.Module2.Macro1 Application.Run MacroName:="Normal.Module2.Macro1" 示例 本示例提示用户输入模板名、模块名、宏名以及参数值,然后运行该宏。
Dim strTemplate As String Dim strModule As String Dim strMacro As String Dim strParameter As String
strTemplate = InputBox("Enter the template name") strModule = InputBox("Enter the module name") strMacro = InputBox("Enter the macro name") strParameter = InputBox("Enter a parameter value") Application.Run MacroName:=strTemplate & "." _ & strModule & "." & strMacro, _ varg1:=strParameter |