教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでWindowsAPIを使いシステム起動からの経過時間を取得する方法

API宣言

WindowsAPI(関数)を使うためには、事前に宣言が必要となります。

Declare Function GetTickCount Lib "kernel32" () As Long

解説

この宣言では、GetTickCount関数(システム起動からの経過時間を取得)が使用できる様になります。

プログラミング例

具体的なプログラミング例を紹介します。

Sub 時間を計る()
    Dim 開始時刻 As Long
    Dim 終了時刻 As Long
    Dim 経過時間 As Long
    ' 開始時刻を取得
    開始時刻 = GetTickCount
    ' 何らかの処理をここに記述
    ' 例えば、メッセージボックスを表示
    MsgBox "こんにちは"
    ' 終了時刻を取得
    終了時刻 = GetTickCount
    ' 経過時間を計算
    経過時間 = 終了時刻 - 開始時刻
    ' 経過時間を表示
    MsgBox "処理にかかった時間は " & 経過時間 & " ミリ秒です。"
End Sub

上記のプログラムは、開始時刻からの経過時間をミリ秒(1秒の1000分の1)単位で表示する内容となります。

まとめ

WindowsAPI関数:GetTickCountを使用し、システム起動からの経過時間を取得する方法について紹介しました。