マクロの動作をログファイルに記録する


マクロ内の動作をログファイルに記録します。ログファイルは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

7,713名が受講しました

基礎を理解すれば、マクロは誰にでも分かります。最も重要なことは誰が教えるかということです。

VBAセミナーはこちら

注目コンテンツ

[Excel 2016レビュー]
VLOOKUP関数が400倍速くなった
Excelの使い方が激変する「スピル


[この関数はこう使え]
IFS 関数 / SWITCH 関数 2019/ProPlus
CONCAT 関数 / TEXTJOIN 関数 2019/ProPlus
SORT 関数 ProPlus
FILTER 関数 ProPlus
UNIQUE 関数 ProPlus
XLOOKUP 関数 ProPlus

[Excel VBA Tips]
オートフィルタを使い倒す

[VBA 高速化テクニック]
Line Inputは遅くない
値貼り付けは遅い