アフィリエイト広告を利用しています

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

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

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

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

目次

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

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

Sub サンプル3160()
<pre><code>If ActiveWorkbook.Saved = False Then

    MsgBox "ブックの変更を保存します。"

    ActiveWorkbook.Save

Else

    MsgBox "ブックは変更されていません。"

End If</code></pre>
End Sub

ブックが変更されていない時

■ マクロの実行結果
メッセージボックスの「ブックは変更されていません。」が表示されます。

ブックが変更されている時

「ブックを上書き保存します」を「ブックに変更があったときだけ上書き保存するマクロ」と変更します。

■ マクロの実行結果
「ブックの変更を保存します。」が表示されます。

Savedプロパティについて

■ Savedプロパティ=False

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

Sub サンプル3165()
<pre><code>ActiveWorkbook.Saved = False
ActiveWorkbook.Close</code></pre>
End Sub

Saved = False
’ Saved=Falseの時は「保存しますか?」が表示されます。

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

■ Savedプロパティ=True

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

Sub サンプル3170()
<pre><code>ActiveWorkbook.Saved = True
ActiveWorkbook.Close</code></pre>
End Sub

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

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

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

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

目次