作成日 2004/12/12
最終更新日 2008/5/5
Repaintメソッドが効かない
このバグはMicrosoftのホームページでは紹介されていないみたいです。(2004/12/12現在)
もしかしたら、だるまの勘違いかもしれない。
RepaintメソッドはFrame、Page、UserFormクラスのインスタンスメソッドだよ。
で、使うと対象オブジェクトを再描画する。
LabelやFrameを組み合わせてプログレスバーを自作するときに使われている。
やればわかる。再描画されないから。
下に、ソースと実行結果を示しておく。
(実行環境:
OS:Mac OS X ver.10.3.6
Excel:Microsoft Excel X for Mac Service Release 1)
|
Image1の横幅とステータスバーの数値が一致するはずなんだけど、Image1の横幅が12
(初期値)のままになっている。
|
Repaintメソッドを呼んだ後、DoEventsメソッドを呼び出せば画面が更新されるのを確認しました。
(UserForm1.Repaintの後で、DoEventsを呼び出すとImage1の横幅が更新されることを確認しました。)
ただし、処理速度が遅くなる・・・。
このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方は
メールをお願いします。
Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft
Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS 、Mac OS X は米国Apple Computer,Inc.の登録商標または商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。
このホームページの作成者はこれらの会社とはいっさい関係がありません。