アクティブブックの内容が変更されたかどうかを判断する方法について説明します。内容が変更されたかどうかを判断するには、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で”変更されていません。”のメッセージを表示して下さい。」との意味になります。
[実行例]:
(実行前)
※ブックには何も変更を加えません。
(実行後)
※ブックの内容を変更していないため、「変更されていません。」のメッセージが表示される。
ブックが変更されていない場合の判断方法についての説明は以上です。
ブックの内容が変更された場合の判断方法
ブックの内容が変更された場合の判断方法について説明します。
[記述例]:
※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。
-------------------------------------------------
Sub サンプル()
If Workbooks("Book1.xlsx").Saved = False Then
MsgBox "変更されました。"
End If
End Sub
-------------------------------------------------
内容は、「Book1.xlsxが変更されたかどうかを判断し、変更された場合はMsgBoxで”変更されました。”のメッセージを表示して下さい。」との意味になります。
[実行例]:
(実行前)
※A1セルに”テスト”の文字を入力しました。
(実行後)
※ブックの内容を変更(A1セルに”テスト”の文字を入力)したため、「変更されました。」のメッセージが表示される。
ブックが変更された場合の判断方法についての説明は以上です。
おわりに
今回はブックが変更されたかどうかを判断する方法について説明しました。Savedプロパティは、保存されたか否かを判断するプロパティです。よって、「保存されていない=ブックが変更された」「保存されている=ブックが変更されていない」との判断になります。TrueとFalseの指定方法に注意して下さい。