- ベストアンサー
VBAで3秒だけ時間を止めたい
アクセス2007です。 VBAで3秒だけ時間を止めたいのですが 過去ログを検索してもよくわかりませんでした。 http://okwave.jp/qa/q4984098.html こちらを見るとAPIとの事ですが VBAだけで出来るコードをご教示いただけないでしょうか?アドバイスよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
VBAだけでできるコードの一例ですが、 Timer関数で取得した数値に「3秒」が足されるまでLoopする という手がありますね。 こんな感じで。 Dim time As Single Dim starttime As Single time = 3 '経過後にループを抜ける時間(秒) starttime = Timer 'Timer関数で開始時刻を取得 Do Until Timer > starttime + time '現在時刻がtime秒経過するまでループ DoEvents Loop ~~以降の処理するプログラム~~
その他の回答 (2)
- samtomsan
- ベストアンサー率55% (1060/1897)
VBAだけだと工夫が必要です。下記が参考になるかと思います。 http://yamav102.cocolog-nifty.com/blog/2011/11/access-vbawait-.html APIを使えば簡単です。 下記を定義しておいて Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 3秒止めたい箇所に下記を挿入する。 Sleep 3000
お礼
どちらでもできました。 でもAPIの方が簡単ですね。ありがとうございました。
- bin-chan
- ベストアンサー率33% (1403/4213)
なぜ3秒待たせたいのか?のほうが気になりますね。 APIがイヤなら、Now()で現在時刻を取得して3秒経過するまで空回りさせるとか。 (PCはフリーズ状態になりますが)
お礼
APIは難しそうなイメージがありました。、調べてみます。ありがとうございました。
お礼
お礼が遅くなってしまいもうしわ小杉ございません。 私の要望通りVBAだけのコードを教えていただきありがとうございます。 また機会があったらご教授宜しくお願いいたします。