ブックに変更があったときだけ上書き保存するマクロ

このマクロは、アクティブブックに変更があったときだけ、ブックの上書きをします。

Savedプロパティを使うと、ブックの変更の有無を確認することができます。

Savedプロパティは、変更されているときにはFalseを、変更されていないときにはTrueを返します。

ブックに変更があったときだけ上書き保存するマクロ

サンプルコード
[aside type=”normal”]コード内、Wクリックでコピーできます。[/aside]
Sub サンプル3160()

    If ActiveWorkbook.Saved = False Then
    
        MsgBox "ブックの変更を保存します。"
        
        ActiveWorkbook.Save
        
    Else
    
        MsgBox "ブックは変更されていません。"
        
    End If
     
End Sub

●マクロの実行結果
ブックが変更されていないとき

●マクロの実行結果
ブックが変更されているとき

Saved = False

ブックに変更があるとき

Savedプロパティについて

Saved = False

Savedプロパティ=Falseの時は「保存しますか?」が表示されます。

サンプルコード
[aside type=”normal”]コード内、Wクリックでコピーできます。[/aside]
Sub サンプル3165()
 
    ActiveWorkbook.Saved = False
    ActiveWorkbook.Close
          
End Sub

●マクロの実行結果
ブックを閉じるときに、確認画面がでます。

Saved = True

Savedプロパティ=Trueの時は「保存しますか?」が表示されません。

サンプルコード
[aside type=”normal”]コード内、Wクリックでコピーできます。[/aside]
Sub サンプル3170()

    ActiveWorkbook.Saved = True
    ActiveWorkbook.Close
    
End Sub
Saved = True

Savedプロパティ=Trueの時は「保存しますか?」が表示されません。

例えば、Book1を次のように変更します。

●マクロの実行結果
「保存しますか?」が表示されないで、画面が閉じます。
このとき、Book1の変更は保存されていません。

以上で「ブックに変更があったときだけ上書き保存するマクロ」の説明を終わります。