如何禁用Excel中的“保存”选项,但“另存为”应该仍然工作

我需要在Excel中禁用保存选项,但我仍然需要保存作为选项正在工作…所以我知道如何禁用这个VBA的两个选项:

Private Sub Workbook_BeforeSave(ByVal SaveUI As Boolean, Cancel As Boolean) MsgBox "You can't save this workbook!" Cancel = True End Sub 

但是,怎样才能禁用保存,但救救我们仍然工作。 感谢你们对我的帮助

尝试:

 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI = False Then MsgBox "You can't save this workbook!" Cancel = True End If End Sub 

编辑

要从ThisWorkbook类模块中删除代码(删除所有东西),我们可以使用下面的代码:

 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI = False Then MsgBox "You can't save this workbook!" Cancel = True Else With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule .DeleteLines 1, .CountOfLines End With End If End Sub 

注意:

  • 这将删除ThisWorkbook类模块中的所有内容,而不仅仅是Workbook_BeforeSave
  • 我们必须允许信任访问VBA项目对象模型 (文件>选项>单击信任中心,单击信任中心设置,然后单击macros设置)。