|
▼よっちゃん さん:
>Application.Wait Time + TimeValue("00:00:01")
>これは1秒後ですが、
いいえ、正確には1秒以内です。^d^
下記で確認できます。
Sub test()
Dim T As Single
T = Timer
Application.Wait Time + TimeValue("00:00:01")
Debug.Print Timer - T
End Sub
>0.5秒後とか0.1秒後とか1秒以下後にするにはどう書けばいいのですか?
簡単にはTimerを利用してループして待つ方法があります。
ただし、Timerの場合夜中の0時をまたぐと0に戻ってしまうのでそのような時は
使えません。
Sub test2()
Dim T As Single
T = Timer
Sleep 0.5
Debug.Print Timer - T
End Sub
Private Sub Sleep(Optional T As Single = 1)
'T秒間待つ
Dim T1 As Single
T1 = Timer + T
Do While Timer < T1
DoEvents
Loop
End Sub
|
|