久しぶりの投稿です。。。

 

開発中に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")