■Sleep関数
処理を一定期間休止させることができる。意図的にプログラムを休止させたいときや、一定期間後に処理を再開したい場合等に使用する。引数はミリ秒(1/1000秒)単位で記述する。
Declare PtrSafe Sub Sleep Lib "KERNEL32.dll" (ByVal dwMilliseconds As Long) Sub Sleep_Sample() Sleep 3000 MsgBox "3秒経過しました" End Sub
■GetTickCount関数
Windowsが移動して空経過した時間を取得する関数取得できる時間の単位はミリ秒(1/1000秒)です。GetTickCount関数を使用した場合、Excelを停止させないプログラム上の待機処理が可能となる。
Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long Sub GetTickCount_Sample() Dim StartTime As Long '休止処理開始時間を取得 StartTime = GetTickCount '5秒経過するまで待機 Do While GetTickCount - StartTime < 5000 DoEvents Loop MsgBox "5秒経過しました" End Sub