防止保存在excel中';你不能得救吗?

防止保存在excel中';你不能得救吗?,excel,save,Excel,Save,这听起来可能很傻,但我正试图通过在此工作簿中使用以下代码来阻止保存在Excel工作簿中: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = True End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.ThisWorkbook.Saved = True End Su

这听起来可能很傻,但我正试图通过在此工作簿中使用以下代码来阻止保存在Excel工作簿中:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Cancel = True
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.ThisWorkbook.Saved = True
End Sub
但是,在按Ctrl+s并关闭工作簿后,当重新打开工作簿时,代码没有保存


知道为什么会发生这种情况吗?

没错,因为
工作簿\u BeforeSave
事件处理程序正在启动并取消保存操作

在IDE的即时窗口中,在保存工作簿之前运行
Application.EnableEvents=False
,工作簿将与代码一起保存


不要忘记在之后运行
Application.EnableEvents=True

这是一件好事-这意味着您的代码工作正常。您的代码阻止您自己保存工作簿。我在几份申请中都提到了这一点,解决这一问题的方法是制作一个sub,如下所示:

sub saveTheWB()
    Application.EnableEvents = False
    ThisWorkbook.Save
    Application.EnableEvents = True
end sub
每次要保存时都必须运行此sub。

听起来确实很傻:-)。我不知道你是否想存钱。你的标题似乎说明了这两个问题,你的问题也是如此。