関数・メソッド

ワークブックの変更を保存した扱いにする【Savedプロパティ】【ExcelVBA】

ワークブックの変更を保存した扱いにする

ユーザーがワークブックに手を加えたのを強制的に保存した扱い(実際には保存していない)が可能です。

今回の方法では、ブックに手を加えた後、ユーザー自身が保存していれば機能しません。
厳密にSavedプロパティは、現在のブックが変更されていて、保存されているかどうかを判断します。

ワークブックの変更を保存した扱いにするサンプルコード

Public Sub sample()
    
    '■ThisWorkbookが変更が保存されている状態にする
    ThisWorkbook.Saved = True
    
    '■保存したと見なして、ブックを閉じられます。
    ThisWorkbook.Close
    
    '通常ブックに変更があれば、下記のようなポップアップが表示されます。
    ' 'Book1.xlsm'の変更内容を保存しますか?
    '保存  保存しない  キャンセル
    
    '保存した扱いなので、ポップアップは表示されません。変更内容も保存されません。
    
    
    'もちろん、下記のようにブックを指定して保存した扱いが可能です。
    '?ActiveWorkbook.Saved =True
    '?Workbooks("Book1.xlsx").Saved =True
    '?wb.Saved =True    '事前に変数wbにSet必要です
End Sub

注意点

関連記事

コメント