Application.Run メソッド (Word)

Visual Basic マクロを実行します。

構文

実行 (MacroNamevarg1varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14, varg15, varg16, varg17, varg19, varg20, varg21, varg21, varg22, varg22, varg23, varg23, varg24, varg25, varg26, varg27, varg28, varg29, varg30)

expression 必須です。 Application オブジェクトを表す変数を指定します。

パラメーター

名前 必須 / オプション データ型 説明
MacroName 必須 String マクロの名前を指定します。
varg1...varg30 オプション バリアント型 マクロのパラメーター値を指定します。 指定したマクロに 30 個までパラメーター値を渡すことができます。

注釈

MacroName パラメーターには、任意のテンプレート、モジュール、およびマクロ名を組み合わせることができます。 たとえば、次のステートメントはすべて有効です。

Application.Run "Normal.Module1.MAIN" 
Application.Run "MyProject.MyModule.MyProcedure" 
Application.Run "'My Document.doc'!ThisModule.ThisProcedure"

ドキュメント名を指定した場合、コードは現在のコンテキストに関連するドキュメント内でのみマクロを実行できます。どのドキュメント内のマクロも実行できません。

Run メソッドを使用しなくても、Visual Basic コードから直接マクロを呼び出すことはできますが、マクロ名が変数に格納されている場合はこのメソッドが便利です。 詳細については、このトピックの「使用例」を参照してください。 次の 3 つのステートメントでは、同じ結果が得られます。 最初の 2 つのステートメントでは呼び出されるマクロが含まれるプロジェクトである Normal.dot への参照が必要となり、Run メソッドを使用する 3 番目のステートメントでは 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 のサポートおよびフィードバックを参照してください。