
エクセル、アクセスでVBAを自作している者です。コーディング暦5年以上で、フォーム画面も組めるようになりました。
いまだに理解が進まないのがイベントですが、その中で質問があります。
かなり時間のかかる処理(例えば30分とか1時間とか)を行う際に、例えば100件処理ごとに「今~件処理しました。」というようなメッセージをフォーム上に表示して、経過を知らせるとともにPCが固まっていないことを確認できるようにしています。(Application.Echoを通常はFalseにして、100件ごとにEcho=Trueに直してからRepaintメソッドで書いて、再びEcho=Falseに戻しています)
しかし、これもずっとアクセスを表示したままの場合にしか動きません。処理中に別の画面(エクセルとかエクスプローラーとか)を表示して、アクセスに戻ってくると、アクセスはVB実行中で画面の再描画はしてもらえず、処理がすべて終わるまでは白い画面(何も表示されない画面)などが表示されたままになってしまいます。フォームのActivateイベントにも仕込んでみましたが、アクセスに戻っただけではActivateイベントは発生しないようです。
Applicationオブジェクトや、CurrentProjectオブジェクトにはイベントがないようで、アクセスがアクティブになった場合に、再描画させることができるのかどうか、教えていただければ幸いです。
No.1ベストアンサー
- 回答日時:
あまり自信がないのですが、
REPAINTの前にDO.EVENTをかましたらうまくいきませんか。
感覚として、一度OSに制御を移して再描画になるのでないかと思うのですが。
間違ってたらごめんなさい
ありがとうございます。
DoEventsの機能はヘルプを読んでみたものの、まだ完全に理解できていません。ただ、アドバイスの通りにRepaintの前にDoEventsを置いてみて、うまくいきました。下記のようなコードで動いています。
Private Sub Form_Activate()
DoEvents
Me.Repaint
Exit Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- gooメール メールアカウントにログインはできますが、メールボックスにアクセスできません。 1 2023/07/09 14:33
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- 写真・ビデオ iPhoneのプライバシーとセキュリティの写真の項目について 2 2023/06/24 23:11
- iPhone(アイフォーン) iPhoneのプライバシーとセキュリティの写真の項目について 1 2023/06/24 20:25
- Safari(サファリ) 画面のサイズ 1 2023/05/28 14:00
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- Firefox(ファイヤーフォックス) Firefoxでグーグルの検索画面が変です 2 2022/09/20 19:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETのSendMessageを教えてく...
-
java のプログラミングについて...
-
「ラバーバンド」について
-
Java 15パズルを作ったのですが...
-
Labelコントロールの背景をグラ...
-
Java/描画してもリサイズをしな...
-
VB.NET フォーム上に描いたグ...
-
javaでの塗りつぶしについて
-
描画してもウィンドウをリサイ...
-
JAVAでの背景画像表示
-
BMP画像を画像処理して連続に表...
-
C# テキストボックスについて
-
VS Treeview のデザイン変更
-
グラフの描画
-
Androidで画像の中で指定した範...
-
SwingとEDT(イベントディスパッ...
-
Java ブロック崩し 当たり判定
-
Canvas等の図形を移動する時,直...
-
パネルに字を書く方法?(JBuil...
-
C#のGraphicsクラスについてです。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETのSendMessageを教えてく...
-
VB.NET フォーム上に描いたグ...
-
MFCでMSペイントみたいなツー...
-
アクセスで他アプリから復帰し...
-
C# DataGridView のCellPaintin...
-
複数画像表示切り替え Visual c++
-
requestanimationframeを一斉に...
-
BMP画像を画像処理して連続に表...
-
C# リストビューの特定のセルの...
-
Labelコントロールの背景をグラ...
-
canvasで表示されてる画像を1...
-
JAVAでの背景画像表示
-
重なった要素上でのイベントで...
-
C#のGraphicsクラスについてです。
-
Java Script 色を塗れるプログ...
-
リスナについて
-
C# テキストボックスについて
-
Javaで文字の角度を変えて表示...
-
EXCELのVBAでフォームに文字を...
-
Canvas等の図形を移動する時,直...
おすすめ情報