このマクロは、アクティブブックに変更があったときだけ、ブックの上書きをします。
Savedプロパティを使うと、ブックの変更の有無を確認することができます。
Savedプロパティは、変更されているときにはFalseを、変更されていないときにはTrueを返します。
ブックに変更があったときだけ上書き保存するマクロ
■ コード内を「Wクリック」で選択できます。
Sub サンプル3160() If ActiveWorkbook.Saved = False Then MsgBox "ブックの変更を保存します。" ActiveWorkbook.Save Else MsgBox "ブックは変更されていません。" End If End Sub
■ ブックが変更されていないとき
●マクロの実行結果
メッセージボックスの「ブックは変更されていません。」が表示されます。
■ ブックが変更されているとき
「ブックを上書き保存します」を「ブックに変更があったときだけ上書き保存するマクロ」と変更します。
●マクロの実行結果
「ブックの変更を保存します。」が表示されます。
Savedプロパティについて
■ Savedプロパティ=False
■ コード内を「Wクリック」で選択できます。
Sub サンプル3165() ActiveWorkbook.Saved = False ActiveWorkbook.Close End Sub
Saved = False
’ Saved=Falseの時は「保存しますか?」が表示されます。
’ Saved=Falseの時は「保存しますか?」が表示されます。
●マクロの実行結果
ブックを閉じるときに、確認画面がでます。
■ Savedプロパティ=True
■ コード内を「Wクリック」で選択できます。
Sub サンプル3170() ActiveWorkbook.Saved = True ActiveWorkbook.Close End Sub
Saved = True
’ Savedプロパティ=Trueの時は「保存しますか?」が表示されません。
’ Savedプロパティ=Trueの時は「保存しますか?」が表示されません。
例えば、Book1の「Savedプロパティの説明」を「ブックを変更しました」と変更します。
●マクロの実行結果
「保存しますか?」が表示されないで、画面が閉じます。
このとき、Book1の変更は保存されないで、変更する前の表示のままです。
ブックを上書き保存については次の記事が参考になります。
■関連記事■ ブックを上書き保存するマクロ
■関連記事■ ブックを上書き保存するマクロ
以上で「ブックに変更があったときだけ上書き保存するマクロ」の説明を終わります。