マクロ内の動作をログファイルに記録します。ログファイルはC:\Work\Report.logとし、存在しない場合は作成します。ログには日時と任意の文字列を書き込みます。日時と文字列の間はタブを挿入します。ログの書き込みは複数の箇所で行われるので、外部プロシージャとしました。
Sub Sample06()
Workbooks.Add
Call WriteLog("新しいブックを開きました")
Range("A1") = 123
Call WriteLog("セルにデータを書き込みました")
ActiveWorkbook.SaveAs "C:\Work\Report.xlsxx"
Call WriteLog("ブックを保存しました")
End Sub
Sub WriteLog(msg As String)
Dim FSO As Object, LOG As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
''ログファイルがなければ作ります
If FSO.FileExists("C:\Work\Report.log") = False Then
FSO.CreateTextFile "C:\Work\Report.log"
End If
''追記で開きます
Set LOG = FSO.OpenTextFile("C:\Work\Report.log", 8)
''日時+タブ+メッセージを書き込みます
LOG.WriteLine Now & vbTab & msg
Set LOG = Nothing
Set FSO = Nothing
End Sub
