執行 Visual Basic 巨集。
語法
運算式。執行 (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 | 必要 | 字串 | 巨集的名稱。 |
| varg1...varg30 | 選用 | Variant | 巨集參數值。 您最多可以將 30 個參數值傳遞至指定的巨集。 |
註解
MacroName 參數可以是任何範本、模組及巨集名稱的組合。 例如,下列任一個陳述式都是有效的。
Application.Run "Normal.Module1.MAIN"
Application.Run "MyProject.MyModule.MyProcedure"
Application.Run "'My Document.doc'!ThisModule.ThisProcedure"
如果您指定了文件名稱,您的程式碼只能在與目前內容相關的文件中執行巨集,而不只是任何文件中的任何巨集。
雖然 Visual Basic 程式碼可以直接 (呼叫巨集,而不需要使用 Run 方法) ,但當巨集名稱儲存在變數中時,這個方法很有用。 (如需詳細資訊,請參閱本主題範例) 。 下列三個陳述式在功能上是相同的。 前兩個陳述式需要引用 Normal.dot,即被呼叫巨集所在的專案;第三個陳述式使用 Run 方法,不需要 Normal.dot 專案的參照。
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
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。