VBA 名前を付けて保存を禁止する方法

VBAで「名前を付けて保存」を禁止する方法です。

VBA 名前を付けて保存を禁止する方法

作った Excel VBA などをコピーして新しいファイルが作られるのを防ぐためには有効な手段じゃないかなっと。VBA Projectのパスワードロックをしておけば、よほど知識のある方以外は「名前を付けて保存」をすることはできないでしょう。

そんなわけで、ここでは VBAで「名前を付けて保存」を禁止する方法 を紹介します。


「名前を付けて保存」を禁止する

まず、新規に.xlsmファイルを作って、名前を付けて保存します。

その後、下記のコードを「ThisWorkbook」へ貼り付けてください。


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  If SaveAsUI = True Then
    Call MsgBox("「名前を付けて保存」はできません。")
    Cancel = True
    'Application.Quit 'アプリを終了
  End If
End Sub

名前を付けて保存を禁止するVBAコード

メニューのファイルから「名前を付けて保存」を選んで保存先を指定すると・・・、

VBAで名前を付けて保存を禁止された

おおおお、メッセージボックスが表示されて保存ができないー!

でも上書き保存はできます^^

ちなみに「Application.Quit」のコメントを外せば、アプリを強制終了します。必要に応じてコメント外して使ってください。

まとめ

VBAで「名前を付けて保存」を禁止する方法を紹介しました。

実務の中では、ファイルを複製させないために有効な手段となるかと思います。

他にも、リボンを編集することで「名前を付けて保存」を表示させない方法もあります。こちらは「Office リボン ファイルタブ内ボタン操作 Excel」で紹介しているので参考にしてみてください。
>>Office リボン ファイルタブ内ボタン操作 Excelはこちら<<

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。