VBA と VSTO の相互運用について(VSTOソリューションから VBA の呼び出し)
前回(VBA と VSTO の相互運用について(VBA からの VSTO ソリューションの呼び出し))は VBA・VSTO を呼び出すことをお話いたしました。
今回は前回の続きになりますが、VSTO 側から VBA・マクロを呼び出す方法になります。
Word 文書ではVBA・マクロを呼び出すことができ、Excel ブックではVBA・マクロと関数を呼び出すことができます。これらを呼び出すには、次のいずれかのメソッドを使用します。
Word では、Microsoft.Office.Interop.Word の Application クラスの Run メソッドを呼び出します。
Excel では、Microsoft.Office.Interop.Excel の Application クラスの Run メソッドを呼び出します。
前回の公開したソリューションを元に作業を進めてみたいと思います。
手順:
1. まずは、VBAtoVSTO ソリューションを起動します。
2. Sheet1. のプロパティで "ReferenceAssemblyFromVbaProject" を True にします。
3. 作業ウィンドウにボタンを追加しクリックします。
4. 以下のコードを記述します。
Globals.Sheet1.Application.Run("Sheet1.CommandButton1_Click()")
※Sheet1 の CommandButton1_Click() Sub プロシージャーを呼び出しています。
5.デバッグして作業ウィンドウ上のボタンをクリックすると VBA 上のメッセージボックスが呼ばれます。
今回ご紹介した VBA・マクロの呼び出しについては、Word 2003、Excel 2003 のソリューションでも可能です。
Comments
- Anonymous
October 17, 2008
以前のブログでご紹介した VBA と VSTO の相互運用について少し補足をしたいと思います。 VBA と VSTO の相互運用について( VSTOソリューションから VBA の呼び出し ) VBA と