即効テクニック |
●概要● 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