Excel VBA | VBA ファイル操作関数・ステートメント一覧

Excel VBA VBA
スポンサーリンク

こちらに「ファイル操作の実務サンプル集(存在確認・バックアップ・ログ出力)」をまとめました。
日常業務でよく使う「ファイルがあるか確認」「バックアップを自動作成」「処理ログを残す」といった処理を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でログを残す
  • 組み合わせることで「安全なファイル処理フロー」を構築可能

💡 この仕組みを応用すれば、フォルダ内の全ファイルを一括バックアップし、処理結果をログに残すといった業務自動化も実現できます。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました