まさ工房

ExcelVBAとAcessDBを利用した業務支援ツールを作成する工房です

【Excelマクロ・VBA】ブックの内容が変更されたかどうかを判断(Saved)する方法を教えて!

       f:id:m_kbou:20190718080421p:plain

アクティブブックの内容が変更されたかどうかを判断する方法について説明します。内容が変更されたかどうかを判断するには、Savedプロパティを使用します。

 

【目次】

 

構文

記述方法は、以下の通りとなります。

=======================================================================

Workbooks(”[ブック名]”).Saved = True

Workbooks(”[ブック名]”).Saved = False

=======================================================================

[説明]:

ブックの内容が変更されたかどうかを判断するには、Savedプロパティを記述します。[ブック名]には判断するブック名を記述します。また、ブック名は「”」(ダブルクォーテーション)で囲みます。ブックが変更されている場合Falseを戻り値として返し、変更されていない場合Trueを返します。内容を纏めると、「[ブック名]で記述したブックが変更されたかどうかを判断して下さい。」との意味になります。

[記述例]:

Workbooks("Book1.xlsx").Saved = True
Workbooks("Book1.xlsx").Saved = False

 

使い方

使い方について、具体的に説明していきます。

ブックの内容が変更されていない場合の判断方法

ブックの内容が変更されていない場合の判断方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    If Workbooks("Book1.xlsx").Saved = True Then
        MsgBox "変更されていません。"
    End If
End Sub

-------------------------------------------------

内容は、「Book1.xlsxが変更されたかどうかを判断し、変更されていない場合はMsgBoxで”変更されていません。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

・初期表示

f:id:m_kbou:20190718080441p:plain

・実行後 

※ブックの内容を変更していないため、「変更されていません。」のメッセージが表示される。

f:id:m_kbou:20190718080453p:plain

ブックが変更されていない場合の判断方法についての説明は以上です。

 

ブックの内容が変更された場合の判断方法

ブックの内容が変更された場合の判断方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    If Workbooks("Book1.xlsx").Saved = False Then
        MsgBox "変更されました。"
    End If
End Sub

-------------------------------------------------

内容は、「Book1.xlsxが変更されたかどうかを判断し、変更された場合はMsgBoxで”変更されました。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

・初期表示

f:id:m_kbou:20190718080441p:plain

・実行後 

※ブックの内容を変更(A1セルに”テスト”の文字を入力)したため、「変更されました。」のメッセージが表示される。

f:id:m_kbou:20190718080512p:plain

ブックが変更された場合の判断方法についての説明は以上です。 

 

おわりに

今回は、ブックが変更されたかどうかを判断する方法について説明しました。Savedプロパティは、保存されたか否かを判断するプロパティです。よって、「保存されていない=ブックが変更された」「保存されている=ブックが変更されていない」との判断になります。