ワークブックの変更を保存した扱いにする
ユーザーがワークブックに手を加えたのを強制的に保存した扱い(実際には保存していない)が可能です。
今回の方法では、ブックに手を加えた後、ユーザー自身が保存していれば機能しません。
厳密に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
注意点
- ワークブックを保存したくない場合は、Book.Close時にSaveChanges:=Falseにした方がスムーズでしょう。
- ブックの変更が保存されているかどうかは、同じくSavedプロパティをIF関数でチェック可能です。
- 本コードは、ブックを保存した扱いなので、変更内容は保存されません。
コメント