#093 | フォームを強制的に再描画する方法 | フォーム、VBA | |
「ただいま処理中です!」のようなメッセージを表示するフォームを開いて直ちにその処理に入ってしまうと、その処理の方だけにWindowsが占有されてしまうため、処理中メッセージのフォームが不完全な、外枠だけの表示になってしまいます。 そのような問題を回避するには、次のような方法があります。 1.DoEventsを使う方法 DoEvents を使って、フォームを開いた後にいったん制御をWindowsに渡して、フォームを描画させる時間を与えます。
DoCmd.OpenForm "frm処理中メッセージ" DoEvents '******************************* 'ここでさまざまな処理をします '******************************* 2.RepaintObjectメソッドを使う方法 DoCmdのRepaintObjectメソッドを使って、文字通り、オブジェクトを強制的に再描画します。 DoCmd.OpenForm "frm処理中メッセージ"
DoCmd.RepaintObject acForm, "frm処理中メッセージ" '******************************* 'ここでさまざまな処理をします '******************************* |
|||
|
Copyright © T'sWare All rights reserved |