📊 Excel VBA Top100

AutoBackupOnClose

自動化

ブックを閉じる前にバックアップを作成するイベントハンドラです

🎬 デモGIF準備中

📖 使い方

  1. VBAエディタを開く(Alt + F11)
  2. モジュールを挿入(挿入 > モジュール)
  3. 下記VBAコードをコピー&ペースト
  4. ブック上で実行(Alt + F8 でマクロ選択)
💡 実行例: ThisWorkbook モジュールの BeforeClose イベントから AutoBackupOnClose を呼び出します

💻 VBAコード

' AutoBackupOnClose
' -----------------
' Macro Name: AutoBackupOnClose
' Description: ブックを閉じる前にバックアップを作成するイベントハンドラです
' Parameters: なし
' Returns: なし
' Usage: ThisWorkbook モジュールの BeforeClose イベントから AutoBackupOnClose を呼び出します
' -----------------

Sub AutoBackupOnClose()
    On Error GoTo ErrorHandler

    Dim wb As Workbook
    Dim backupPath As String
    Dim fileName As String
    Dim timestamp As String

    Set wb = ActiveWorkbook

    If wb.Path = "" Then
        MsgBox "先にブックを保存してください", vbExclamation, "注意"
        Exit Sub
    End If

    timestamp = Format(Now, "yyyymmdd_hhmmss")
    fileName = Left(wb.Name, InStrRev(wb.Name, ".") - 1)
    backupPath = wb.Path & "\" & fileName & "_backup_" & timestamp & ".xlsm"

    wb.SaveCopyAs backupPath

    MsgBox "バックアップを作成しました:" & vbCrLf & backupPath, vbInformation, "バックアップ完了"

    Exit Sub

ErrorHandler:
    MsgBox "エラーが発生しました:" & vbCrLf & Err.Description, vbCritical, "エラー"
End Sub