関数・メソッド

ワークブックに変更が加えられているかどうか確認する【Savedプロパティ】【ExcelVBA】

ワークブックに変更が加えられているかどうか確認する

ユーザーがワークブックに手を加えたかどうか判断する場合に使用可能です。
今回の方法では、ブックに手を加えた後、保存していれば手を加えたかどうかはわかりません。

厳密にSavedプロパティは、現在のブックが変更されていて、保存されているかどうかを判断します。

ワークブックに変更が加えられているかどうか確認するサンプルコード

Public Sub sample()
    
    '■ThisWorkbookが変更が保存されているかどうか判断する
    If ThisWorkbook.Saved = False Then
        Debug.Print "ThisWorkbookに変更がありません(手を加えられていません) もしくは保存された状態です"
    Else
        Debug.Print "ThisWorkbookに変更があり、保存されていません"
    End If
    
    
    'もちろん、下記のようにブックを指定して確認することも可能です。
    '?ActiveWorkbook.Saved
    '?Workbooks("Book1.xlsx").Saved
    '?wb.Saved    '事前に変数wbにSet必要です
End Sub

注意点

  • ワークブックを保存したくない場合は、Book.Close時にSaveChanges:=Falseにした方がスムーズでしょう。
  • もちろんSavedプロパティをTrueにして、疑似的に保存されたと見なすことも可能です。

関連記事

コメント

タイトルとURLをコピーしました