- ベストアンサー
作業をとめる??
VBでfor をしているとき、一定時間(1~2秒くらい)なにもさせない方法を教えてください ちなみに for i=0 to 1000000 next i とかいろいろしましたがわかりません
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 DoEventsを使用する方法をもう1つ。 Dim StartTime As Single '開始時間(秒) Dim WaitSec As Single '待ち時間(秒) WaitSec = 10 StartTime = Timer Do While Timer < StartTime + WaitSec DoEvents Loop Timer関数は午前零時からの経過秒数を返す関数で、Singleで返すので2.5秒などの小数も出来ます。 ただし、日をまたぐとだめですが。 では。
その他の回答 (2)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.2
本当に何も(画面の描画も)しなくていいのであれば、 WindowsAPIのSleep()を使うのが簡単です。 ただ単に、引数に待ち時間をいれて呼び出すだけです。 そうではなく、入力待ちのような、イベントが発生するのを待つのであれば、Timerコントロールを使うのが楽です。 それだと、別のイベントプロシージャに処理がうつってしまうのでいやだというのなら、DoEventsを使う方法もあります。 '10秒間ループが終了しません t = Now Do While (Now - t) * 10000 < 10 DoEvents Loop
- hardy50
- ベストアンサー率29% (221/746)
回答No.1
Timerコントロールに処理をとばして2秒経ったら戻してみてはどうでしょう?
お礼
皆様 回答 ありがとうございます