Excel VBA FileSystemObjectを使ってログファイル出力する方法

スポンサーリンク
スポンサーリンク

ログファイル出力する方法

やりたい事

FileSystemObjectを使ってログファイル出力してみます。

サンプルコード

Private objTso As Object

'メイン処理
Sub main()

    Call openLogFile
    
    Call writeFile("処理開始")
    
    MsgBox "HelloWorld"
    
    Call writeFile("処理終了")
    
    Call closeLogFile

End Sub


'ログファイルのOPEN処理
Sub openLogFile()
    
    Dim objFSO As Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTso = objFSO.OpenTextFile(Filename:=ThisWorkbook.path & "\log_" & Format(Date, "YYYYMMDD") & ".txt", _
                                    IOmode:=8, _
                                    Create:=True)

End Sub

'ログファイルへの書き込み処理
Sub writeFile(message As String)

    objTso.WriteLine Now & " " & message

End Sub

'ログファイルのCLOSE処理
Sub closeLogFile()

    Set objTso = Nothing
    Set objFSO = Nothing
    
End Sub

「objFSO」がローカルウィンドウでみるとcloseLogFile処理でNothingする前に破棄されてるようにみえるからいらない処理かも(^^)

参考資料

Docs

コメント

タイトルとURLをコピーしました