共用方式為


Word) (Application.Run 方法

執行 Visual Basic 巨集。

語法

運算式執行 (MacroNamevarg1varg2varg3varg4varg5varg6varg7varg8varg9varg10varg11varg12varg13varg14varg15varg16varg17varg18varg19varg20varg21varg22varg23varg24varg25varg26varg27varg28varg29varg30)

需要 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

另請參閱

Application 物件

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應