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

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

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プロパティ=True 

  ■ コード内を「Wクリック」で選択できます。

Sub サンプル3170()

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

例えば、Book1の「Savedプロパティの説明」を「ブックを変更しました」と変更します。

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

ブックを上書き保存については次の記事が参考になります。
■関連記事■ ブックを上書き保存するマクロ

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