教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA ブック操作】ブックの内容が変更されたかどうかを判断(Saved)する方法を教えて!

ブックの内容が変更されたかどうかを判断するには「Saved」を使います。

構文

構文は以下の通りです。

WorkbookObject.Saved

解説

Savedメソッドは、Workbookオブジェクトに属しており、特定のブックが変更されたかどうかを判断するために使用されます。以下にSavedメソッドの構文を示します。このSavedメソッドは、ブックが保存されている場合にはTrueを返し、まだ保存されていない場合にはFalseを返します。

使い方

Savedメソッドは、ブックの変更を監視するために使用されます。具体的には、次のようなシナリオで使用されることがあります。

・マクロの実行前後でブックの変更を確認する
・ブックが変更されている場合に保存するようにユーザーにプロンプトを表示する
・自動保存機能を実装する

プログラミング例

以下のプログラミング例では、Savedメソッドを使用してブックの変更を監視し、必要に応じて保存する方法を示します。

Sub CheckAndSaveWorkbook()
    Dim wb As Workbook
    Set wb = ThisWorkbook
    If Not wb.Saved Then
        ' ブックが変更されている場合の処理
        MsgBox "ブックが変更されています。保存しますか?", vbQuestion + vbYesNo, "変更の保存"
        If MsgBoxResult = vbYes Then
            wb.Save
            MsgBox "ブックが保存されました。", vbInformation, "保存完了"
        End If
    Else
        ' ブックが変更されていない場合の処理
        MsgBox "ブックは変更されていません。", vbInformation, "変更なし"
    End If
End Sub

この例では、現在のブックが変更されているかどうかをチェックし、変更がある場合にはユーザーに保存の確認を行います。保存するかどうかの選択に応じて、ブックを保存したり保存しなかったりします。

まとめ

ExcelVBAのSavedメソッドは、ブックの変更を監視し、必要に応じて保存するための便利なメソッドです。

・SavedメソッドはWorkbookオブジェクトに属しており、ブックが保存されているかどうかを判断するために使用されます。

・SavedメソッドはTrueまたはFalseを返し、ブックが保存されている場合はTrue、保存されていない場合はFalseを返します。

・Savedメソッドを使用することで、ブックの変更を監視し、必要に応じて保存するプログラムを実装することができます。