時刻付きの実行ログを新しいブックへ出力する
新しいログ用ブックに時刻・段階・結果を追記し、処理の記録を残します。
実行前に確認
- 作成したログブックは自動保存されません。閉じる前に必要なら.xlsxで保存します。
- 短い処理なので3行の時刻が同じ秒になる場合があります。監査証跡や改ざん防止を保証するログではありません。
- 既存ログの最大行数や同時書き込みは扱っていません。補助Subは同じ標準モジュールに置きます。
- Excel実機での動作は未確認です。コピーした練習用ブックで試してください。
1サンプルコード
Option Explicit
Sub Example7029()
Dim logBook As Workbook
Dim logSheet As Worksheet
Set logBook = Workbooks.Add(xlWBATWorksheet)
Set logSheet = logBook.Worksheets(1)
logSheet.Name = "実行ログ"
logSheet.Cells(1, 1).Value = "時刻"
logSheet.Cells(1, 2).Value = "段階"
logSheet.Cells(1, 3).Value = "内容"
AppendLog7029 logSheet, "開始", "練習処理を開始"
AppendLog7029 logSheet, "計算", "3×250=" & 3 * 250
AppendLog7029 logSheet, "終了", "練習処理が完了"
logSheet.Columns("A").NumberFormat = "yyyy/mm/dd hh:mm:ss"
logSheet.Columns("A:C").AutoFit
MsgBox "新しいログブックを作りました。残す場合は名前を付けて保存してください。"
End Sub
Private Sub AppendLog7029(ByVal ws As Worksheet, _
ByVal stage As String, ByVal detail As String)
Dim rowNumber As Long
rowNumber = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1
ws.Cells(rowNumber, 1).Value = Now
ws.Cells(rowNumber, 2).Value = stage
ws.Cells(rowNumber, 3).Value = detail
End Sub図で見る時刻付きの実行ログを新しいブックへ出力するの流れ
イメージ図新しいログ用ブックに時刻・段階・結果を追記し、処理の記録を残します。
入力・開始時
新規ブックの実行ログに見出しを作成
実行する処理
AppendLog7029で開始・計算・終了とNowを3回追記
結果
時刻・段階・内容が3行。計算ログは3×250=750
ログブックは未保存です。残す場合は自分で名前を付けて保存します。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
デスクトップ版Excelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]を選び、空のモジュールの先頭にこの例全体を貼り付けます。
- 2
書き換えは不要です。まず例の値のままで試し、値や変数名を変える場合は同じ名前の箇所も揃えます。
- 3
Example7029のSub内にカーソルを置き、F5キーで実行します。
- 4
新しいブックの「実行ログ」に、見出しと開始・計算・終了の3行が作られます。元のブックは変更しません。