プロが教える店舗&オフィスのセキュリティ対策術

アクセス2007です。

VBAで3秒だけ時間を止めたいのですが
過去ログを検索してもよくわかりませんでした。

http://oshiete.goo.ne.jp/qa/4984098.html
こちらを見るとAPIとの事ですが
VBAだけで出来るコードをご教示いただけないでしょうか?アドバイスよろしくお願いします。

教えて!goo グレード

A 回答 (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

~~以降の処理するプログラム~~
    • good
    • 4
この回答へのお礼

お礼が遅くなってしまいもうしわ小杉ございません。
私の要望通りVBAだけのコードを教えていただきありがとうございます。
また機会があったらご教授宜しくお願いいたします。

お礼日時:2012/02/27 19:45

VBAだけだと工夫が必要です。

下記が参考になるかと思います。
http://yamav102.cocolog-nifty.com/blog/2011/11/a …

APIを使えば簡単です。
下記を定義しておいて
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
3秒止めたい箇所に下記を挿入する。
Sleep 3000
    • good
    • 2
この回答へのお礼

どちらでもできました。
でもAPIの方が簡単ですね。ありがとうございました。

お礼日時:2012/02/22 22:42

なぜ3秒待たせたいのか?のほうが気になりますね。



APIがイヤなら、Now()で現在時刻を取得して3秒経過するまで空回りさせるとか。
(PCはフリーズ状態になりますが)
    • good
    • 0
この回答へのお礼

APIは難しそうなイメージがありました。、調べてみます。ありがとうございました。

お礼日時:2012/02/22 07:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング