GetTickCount関数は、WindowsAPIの一つで、システムの起動からの経過時間をミリ秒単位で返します。Windowsが起動されてから、最後にシステムの起動時間がリセットされた時点までの経過時間を返します。この関数を使用することで、システムの動作時間を取得することができます。
API宣言
ExcelVBAでは、GetTickCount関数を使用する前にAPI宣言を行う必要があります。API宣言を行うことで、ExcelVBAがWindowsAPI関数を認識することができるようになります。API宣言は次のように行います。
Private Declare Function GetTickCount Lib "kernel32" () As Long
解説
パラメータ | 内容 |
Lib | 使用する動的リンクライブラリ(DLL)の名前を指定します。ここでは "kernel32.dll"となります。 |
使い方
GetTickCount関数を使用するには、次のように関数を呼び出します。
Dim tickCount As Long
tickCount = GetTickCount()
tickCount = GetTickCount()
このようにすることで、tickCount変数にシステムの起動からの経過時間をミリ秒単位で返すことができます。
プログラミング例
次の例では、GetTickCount関数を使用して、VBAプログラムが実行された時間を取得します。
Private Declare Function GetTickCount Lib "kernel32" () As Long
Sub GetProgramElapsedTime()
Dim start_time As Long
Dim elapsed_time As Long
start_time = GetTickCount()
' ここにプログラムの処理を書く
elapsed_time = GetTickCount() - start_time
MsgBox "プログラムの実行時間:" & elapsed_time & "ミリ秒"
End Sub
Sub GetProgramElapsedTime()
Dim start_time As Long
Dim elapsed_time As Long
start_time = GetTickCount()
' ここにプログラムの処理を書く
elapsed_time = GetTickCount() - start_time
MsgBox "プログラムの実行時間:" & elapsed_time & "ミリ秒"
End Sub
このプログラムでは、GetTickCount関数を使用して、プログラムの開始時刻を取得しています。その後、プログラムの処理を行い、処理が終了した時刻から開始時刻を引くことで、プログラムの実行時間を計算しています。最後に計算結果をMsgBoxで表示しています。
まとめ
GetTickCount関数は、システムの起動からの経過時間をミリ秒単位で返します。また、システムの起動からの経過時間を取得するための非常に便利な関数です。