久しぶりの投稿です。。。
開発中に1つの処理でもの凄く時間がかかっている場合などに、
原因を探るために処理時間を見ることがあり、いちいち書くのが面倒なのでここにメモしておきます。
---API---
Private Declare Function GetTickCount Lib "kernel32" () As Long
---処理内に記載---
Dim StartTime As Long '開始時間
StartTime = GetTickCount
(ここに問題の処理)
Dim EndTime As Long '終了時間
EndTime = GetTickCount
Dim myTime As Double
Dim SyoriTime As Strin
myTime = EndTime - StartTime
SyoriTime = CStr(CDate(myTime / 86400000#)) & Right$(Format$(CStr(myTime / 1000), "###.000"), 4)
試していないがこれでいけるはず!!
24時間(86400000ミリ秒)を超える場合は下記を使用すること。
Dim dt As Double
dt = DateAdd("s", myTime \ 1000, 0)
SyoriTime = Format$(DateDiff("h", 0, dt), "00") & ":" & Format$(dt, "nn\:ss") & "." & Format$(myTime Mod 1000, "000")