タイトル | : Re: ExcelのマクロボタンからVB側のルーチンを起動する |
記事No | : 14580 |
投稿日 | : 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 の 内容を見て、目的のプロシージャを呼び出すようにする。
|