ブックを上書き保存する
確認してから現在のブックを上書き保存します。
実行前に確認
- 上書き前の内容には通常戻せません。必要なら先にバックアップします。
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図で見るファイルの変化
イメージ図概念図:確認した現在の変更を、同じブックファイルへ保存します。
変更前
保存済みのマクロ格納ブックに未保存の変更がある
マクロ:確認
保存先があり、読み取り専用でないことを確認
手動:承認
上書き保存の確認で[はい]
変更後
ThisWorkbook.Saveで同じファイルへ現在の内容を保存
未保存・読み取り専用・[いいえ]なら終了。上書き前の内容が必要なら先にバックアップしてください。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
- 1
練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。
- 2
Alt+F11でVBEを開き、[挿入]→[標準モジュール]にコードを貼り付けます。
- 3
Sample3007内にカーソルを置いてF5で実行します。確認してから現在のブックを上書き保存します。