タイトル : Re: ExcelのマクロボタンからVB側のルーチンを起動する 投稿日 : 2010/03/31(Wed) 13:20 投稿者 : 魔界の仮面弁士
> Excel側のマクロボタンからVB6側のサブルーチンを起動させることは可能なのでしょうか? いろいろな実装方法があると思いますが、たとえば、こういう方法は如何でしょう。 (案1) VBA からは、Excel.Application の DDE 系メソッドを通じて、 VB6 の Label や TextBox 等にテキストを渡すようにする。 VB6 側では、それらを TextBox の Change イベント等で受け取ってから、 送信されてきた内容に応じて、目的のプロシージャを呼び出すようにする。 (案2) VB6 側で、Worksheet オブジェクトを WithEvents 変数で受けておく。 VBA 側からは、シート上の特定のセルの値を変更することで、VB6 側の WithEvents 変数経由で Change イベントが呼ばれるので、引数 Target の 内容を見て、目的のプロシージャを呼び出すようにする。 |