Excelでユーザーフォーム(モードレス)をUIにして、起動時にExcelそのものを、最小化して動かしていると、メッセージボックスが表示されないことに気が付いた。
因みに、起動時に最小化したからではなく、途中からでも最小化したら表示されない。
デバッグ中は、大概Excelのシートも開いたままのことが多くて、最小化していたら表示されないことに気が付かなかった。
いろいろ調べると、どうやらアプリケーション(Excel)がアクティブになっていないと表示されないことが分かった。
ということは、メッセージボックスを表示する前に、Excelをアクティブにすればいいように思える。
フォームのコントロール(ボタン)にSetFocusとかしてみたんだけどアクティブにはならない。
ググってみると、AppActivate ステートメントというのがみつかった。
ユーザーフォームのタイトルを指定してAppActivate を実行すると、ユーザーフォームがアクティブになり、思惑通りメッセージボックスも普通に表示された。
これで良さそう。
--
ときどき
ときどき
No comments:
Post a Comment