- ベストアンサー
他のフォームから別のフォームのサブルーチンを呼び出す
例えばフォームAからフォームBのCommand1_clickというサブルーチンを呼び出そうとすればどのようにすればいいんでしょうか? 私は Call FormB!Command_click とフォームAに書きましたがうまくいきませんでした
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Command1のClickイベントプロシージャの Private Sub Command1_Click() '(・・処理・・) End sub を Public Sub Command1_Click() '(・・処理・・) End sub に書き換えて下さい(「Private」→「Public」)。 こうすることにより、他のフォームから呼ぶことが可能になります。 ただしこのやり方は奨励しません(※後述) また、呼び出し方も間違ってます。 Call FormB!Command_click ではなく、 Call FormB.Command_click として下さい(「!」→「.」)。 ※自動生成するイベントプロシージャの構文を直接いじるのはあまり奨励しません(特に問題は発生しませんが)。 直接イベントプロシージャを呼ぶのではなく、下記のようにしてみてはいかがでしょう。 ※下記をFormBに記述 Private Sub Command1_Click() Call subCommand1Click End sub Public Sub subCommand1Click() '(・・処理・・) End sub FormAではこのように呼ぶ Call FormB.subCommand1Click
お礼
ありがとうございました そうですねイベントプロシージャをいじりすぎるのはよくないと思いました 大変役に立ちました