Skip to content

Logging

Summary

引数をイミディエイトウィンドウに表示し、同時にテキストデータとして保存するための関数です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Function Logging(varData As Variant)
'引数をイミディエイトウィンドウに表示するとともにテキストデータとして保存する

Dim strPath As String
Dim lngFileNum As Long
Dim strLogFile As String

On Error Resume Next
    strPath = ThisWorkbook.path
    strPath = strPath & "\_Log"
On Error GoTo errExit
    If IsExist(strPath) = False Then MkDir strPath

    strLogFile = strPath & "\" & Format(Date, "YYYY.MM.DD") & ".log"
    lngFileNum = FreeFile()

    Open strLogFile For Append As #lngFileNum
    Print #lngFileNum, varData
    Close #lngFileNum
    Debug.Print varData
Exit Function
errExit:
    strLogFile = ThisWorkbook.path & "\Err.log"
    lngFileNum = FreeFile()

    Open strLogFile For Append As #lngFileNum
    Print #lngFileNum, varData
    Close #lngFileNum
    Debug.Print "ERR    " & ThisWorkbook.FullName & "Logging    " & varData
End Function

説明

この関数は、与えられたデータをイミディエイトウィンドウに表示し、同時にテキストデータとして保存します。

- 実行ファイルの直下に”_Log"ファイルを作成
- logファイルを作成
- logファイルに記述内容を保存
- 記述内容をイミディエイトウィンドウに表示する

具体的な動作は以下の通りです:

変数 strPath に現在のブックのパスを格納します。 _Log というフォルダが存在しない場合、新たに作成します。 ログファイルのパスを作成します。ファイル名は日付に基づいて作成されます。 ファイルを開いて、指定されたデータを追記します。 ファイルを閉じます。 varData をイミディエイトウィンドウに表示します。 関数から抜けます。 エラーハンドリングが発生した場合、エラーログを Err.log ファイルに保存します。また、エラーメッセージもイミディエイトウィンドウに表示します。

引数

  • なし

戻り値

  • 戻り値の型: String型 (選択されたファイルのパス)
    • ファイルが選択された場合は、選択されたファイルのパスが返されます。
    • ファイルが選択されなかった場合は、Falseが返されます。

Examples

この関数を使用することで、引数のデータを表示および保存することができます。

1
Logging("処理の経過等のログを出力。Debug.Print()の代わりに使う")