ExcelのVBAでマクロを埋め込んだファイルなどは、改変されると困るのでファイルを読み取り専用にすることが多い。
しかし、読み取り専用でファイルを開いた場合、ユーザーの操作後に閉じようとすると、必ずファイル保存の確認メッセージが表示される。
読み取り専用で開いているので、そのファイルは保存することはなく、この表示が意外といちいち鬱陶しい。
なので、このファイル保存の確認メッセージを非表示にする方法を調べてみた。
まずは、ThisWorkbookのソースコードに「Workbook_BeforeClose」(ワークブッククローズ前イベント)を追加する。
ソースコードの上あたりにあるプルダウンで、以下を選択し、サブプロシージャを追加する。
- オブジェクト…「Workbook」
- プロシージャ…「BeforeClose」
そのサブプロシージャの中に、「Me.Saved」の値を「True」に設定してやれば、ファイル保存の確認メッセージを非表示にできる。
この非表示にするのは、ファイルを読み取り専用で開いている場合のみでいいので、「ActiveWorkbook.ReadOnly」プロパティの値が「True」の場合という条件を入れてやる方がいい。
実際のソースは以下のような感じです。
'ワークブッククローズ前イベント Private Sub Workbook_BeforeClose(Cancel As Boolean) '読み取り専用で開いている場合 If ActiveWorkbook.ReadOnly = True Then '保存確認を不要にする Me.Saved = True End If End Sub
以上。
コメント