VBAでファイル保存の確認メッセージを非表示にする方法

VBA プログラミング
この記事は約2分で読めます。

※当ブログではアフィリエイト広告を利用しています。

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

以上。

コメント

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