12

マクロを作成していて、VBA がすべての情報をコピーして貼り付けたブックの保存機能を無効にする必要があります。これは可能ですか?

4

3 に答える 3

60

Workbook_BeforeSave イベントを使用してこれを実現できます。CommandBars を無効にしても、CTRL + S などのショートカットを使用するユーザーは停止しません。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    MsgBox "You can't save this workbook!"
    Cancel = True

End Sub
于 2012-09-04T13:38:04.660 に答える
11

オブジェクトを使用してApplication、ツールバー ボタンに直接アクセスできます。

Private Sub Workbook_Open() 
    Application.CommandBars("Worksheet Menu Bar").Controls("File").Controls("Save As...").Enabled = False 
    Application.CommandBars("Worksheet Menu Bar").Controls("File").Controls("Save").Enabled = False 
End Sub 
于 2012-09-04T13:35:55.707 に答える