Debug.Printに現在日時を表示させるには
Debug.Printを使えばイミディエイトウィンドウに変数値を出力させることができます。ただ、出力される内容はDebug.Printの後ろに続く内容だけです。
しかし、場合によってはログのように日時も一緒に出力させたい場合があります。
そこで、Debug.Printで出力する内容を強化する関数を作って、そこで現在日時やミリ秒を一緒に出力させてしまいます。
強化版Debug.Printの関数
以下のDebugPrint()関数は、呼び出された時点の現在日時をミリ秒精度で変数値と一緒に出力します。
出力するときのフォーマットは以下になります。
YYYYMM/DD hh:mm:ss.fff [引数値]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Public Sub DebugPrint(a_sOutput) Dim sMsg '// 出力メッセージ Dim dTimer '// Timer値(ミリ秒取得用) dTimer = Timer '// 日時を連結 sMsg = Format(Now, "yyyy/MM/DD hh:mm:ss") & "." '// ミリ秒を3桁連結 sMsg = sMsg & Left(Format(Mid(CStr(dTimer - Int(dTimer)), 3), "000"), 3) '// 引数メッセージを連結 sMsg = sMsg & " [" & a_sOutput & "]" '// イミディエイトウィンドウに出力 Debug.Print sMsg End Sub |
使い方
DebugPrint関数の使い方は、Debug.Printと同じです。
1 2 3 4 5 6 |
Sub DebugPrintTest() DebugPrint Now DebugPrint "abc" Call DebugPrint(Application.Name) Call DebugPrint("日曜日") End Sub |
関数なのでCallと一緒に書いても構いません。
実行結果
2020/11/19 00:38:59.775 [2020/11/19 0:38:59]
2020/11/19 00:38:59.777 [abc]
2020/11/19 00:38:59.777 [Microsoft Excel]
2020/11/19 00:38:59.778 [日曜日]