← コード一覧へ戻る
実務ブック

ブックを上書き保存する

確認してから現在のブックを上書き保存します。

実行前に確認

  • 上書き前の内容には通常戻せません。必要なら先にバックアップします。

1サンプルコード

Sub Sample3007()
    If ThisWorkbook.Path = "" Then
        MsgBox "先に名前を付けて保存してください。": Exit Sub
    End If
    If ThisWorkbook.ReadOnly Then
        MsgBox "読み取り専用なので上書きできません。": Exit Sub
    End If
    If MsgBox("現在の変更を上書き保存しますか?", vbYesNo + vbQuestion) <> vbYes Then Exit Sub
    ThisWorkbook.Save
End Sub

図で見るファイルの変化

イメージ図

概念図:確認した現在の変更を、同じブックファイルへ保存します。

  1. 変更前

    保存済みのマクロ格納ブックに未保存の変更がある

  2. マクロ:確認

    保存先があり、読み取り専用でないことを確認

  3. 手動:承認

    上書き保存の確認で[はい]

  4. 変更後

    ThisWorkbook.Saveで同じファイルへ現在の内容を保存

未保存・読み取り専用・[いいえ]なら終了。上書き前の内容が必要なら先にバックアップしてください。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
  1. 1

    練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。

  2. 2

    Alt+F11でVBEを開き、[挿入]→[標準モジュール]にコードを貼り付けます。

  3. 3

    Sample3007内にカーソルを置いてF5で実行します。確認してから現在のブックを上書き保存します。

使っている機能の公式ドキュメント(Microsoft Learn)