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