HOME > 即効テクニック > Excel VBA > ウィンドウ操作関連のテクニック > 他のブックにあるマクロを実行する

即効テクニック

ウィンドウ操作関連のテクニック

他のブックにあるマクロを実行する

( - )
●概要●
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