Windows API の Sleepとは、指定した時間だけ処理を停止させたい場合に使用します。CPUに負荷はかかりません。
Windows API Sleepとは
■ Sleepの宣言
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
■ Sleepの構文
Call Sleep( ミリ秒 )
Sleep使用例画面
入力したVBAコードです。
MySleepプロシージャはミリ秒単位で停止します。
MySleepSecプロシージャは秒単位で停止します。
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub MySleep()
Dim tim As Long
tim = Range("C3")
Range("E3") = "開始"
Call Sleep(tim)
Beep
Range("E3") = "停止"
End Sub
Sub MySleepSec()
Dim tim As Long
tim = Range("C4") * 1000
Range("E4") = "開始"
Call Sleep(tim)
Beep
Range("E4") = "停止"
End Sub
VBAプログラムの説明
Windows API Sleepを宣言Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Subプロシージャの宣言
Sub MySleep()
長整数型の変数を宣言
Dim tim As Long
待ち時間 ミリ秒をC3セルより取得
tim = Range("C3")
E3セルに入力
Range("E3") = "開始"
Windows API Sleepを実行
Call Sleep(tim)
ブザーを鳴らす
Beep
E3セルに入力
Range("E3") = "停止"
プロシージャの終了
End Sub
Subプロシージャの宣言
Sub MySleepSec()
長整数型の変数を宣言
Dim tim As Long
待ち時間 秒をC4セルより取得
tim = Range("C4") * 1000
E4セルに入力
Range("E4") = "開始"
Windows API Sleepを実行
Call Sleep(tim)
ブザーを鳴らす
Beep
E4セルに入力
Range("E4") = "停止"
プロシージャの終了
End Sub
Windows API Sleepの使用例マクロの実行画面
マクロ一覧から「MySleep」か「MySleepSec」マクロを実行します。
マクロ実行前に、C3セルに待ち時間をミリ秒で、C4セルに秒で入力しておきます。
マクロを開始すると、「開始」と表示されます。
待ち時間が経過すると、「停止」と表示されます。
Excelマクロのサンプルファイル:
フリーダウンロード
Copyright (C) excel.usefulhp.com All rights reserved.