●概要●
ApplicationクラスのRunメソッドを使って、他のブックにあるマクロを実行することができます。
構文 オブジェクト.Run([Macro], [Arg1], [Arg2],...)
設定項目 内容
オブジェクト Applicationオブジェクト
Macro マクロ名
Arg1, Arg2...実行するマクロの引数
次のサンプルは、「Sample.xls」にある「Sample」プロシージャから、「Text.xls」にある「Sample2」プロシージャを呼び出しています。「Sample2」は、Functionプロシージャで、引数を2つ取ります。処理結果が「Sample.xls」に返され、イミディエイトウィンドウに表示されます。なお、このとき呼び出される「Test.xls」ブックは開いていなくてはなりません。また、渡される引数は、値渡しになります。
●サンプル1●
'Sample.xlsに記述
Sub Sample1()
Debug.Print Application.Run("Test.xls!Sample2", "2", "2")
End Sub
●サンプル2●
'Test.xlsに記述
Function Sample2(i As Long, j As Long) As Long
Sample2 = i ^ j
End Function