こちらに「ファイル操作の実務サンプル集(存在確認・バックアップ・ログ出力)」をまとめました。
日常業務でよく使う「ファイルがあるか確認」「バックアップを自動作成」「処理ログを残す」といった処理をVBAで実装できます。
実務サンプル集
1. ファイルの存在確認(Dir関数)
Sub CheckFileExists()
Dim fPath As String
fPath = "C:\Test\sample.xlsx"
If Dir(fPath) <> "" Then
MsgBox "ファイルは存在します"
Else
MsgBox "ファイルが見つかりません"
End If
End Sub
VB👉 処理前にファイルの有無を確認して、エラーを防止。
2. バックアップ作成(Name関数+日付付与)
Sub BackupFile()
Dim src As String, dest As String
src = "C:\Test\sample.xlsx"
dest = "C:\Test\Backup\sample_" & Format(Now, "yyyymmdd_hhmmss") & ".xlsx"
If Dir(src) <> "" Then
FileCopy src, dest
MsgBox "バックアップを作成しました → " & dest
Else
MsgBox "元ファイルが存在しません"
End If
End Sub
VB👉 ファイルをコピーしてバックアップ。日付時刻を付ければ世代管理も可能。
3. ログ出力(Open / Print)
Sub WriteLog()
Dim logPath As String, ff As Integer
logPath = "C:\Test\process_log.txt"
ff = FreeFile
Open logPath For Append As #ff
Print #ff, Now & " - 処理を実行しました"
Close #ff
MsgBox "ログを追記しました"
End Sub
VB👉 処理履歴をテキストファイルに追記。誰がいつ実行したかを残せる。
4. 一括処理+ログ記録(存在確認→バックアップ→ログ)
Sub FileProcessWithLog()
Dim src As String, dest As String, logPath As String, ff As Integer
src = "C:\Test\sample.xlsx"
dest = "C:\Test\Backup\sample_" & Format(Now, "yyyymmdd_hhmmss") & ".xlsx"
logPath = "C:\Test\process_log.txt"
ff = FreeFile
Open logPath For Append As #ff
If Dir(src) <> "" Then
FileCopy src, dest
Print #ff, Now & " - バックアップ作成成功: " & dest
MsgBox "バックアップ完了"
Else
Print #ff, Now & " - エラー: 元ファイルが存在しません"
MsgBox "元ファイルが存在しません"
End If
Close #ff
End Sub
VB👉 存在確認 → バックアップ → ログ出力を一括で実行。
✅ まとめ
- Dir関数で存在確認 → エラー防止
- FileCopy / Nameでバックアップやリネーム
- Open / Printでログを残す
- 組み合わせることで「安全なファイル処理フロー」を構築可能
💡 この仕組みを応用すれば、フォルダ内の全ファイルを一括バックアップし、処理結果をログに残すといった業務自動化も実現できます。
