Excel 尽管代码savechanges=false,但仍保存工作簿

Excel 尽管代码savechanges=false,但仍保存工作簿,excel,savechanges,vba,Excel,Savechanges,Vba,我有一个反复出现的问题。即使我的代码专门声明不保存更改,工作簿仍然会在程序完成时保存 wb2.Close Savechanges = False wb1.Close Savechanges = False 问题是,当它有一个更晚的时间戳时,有人可能会认为做了一些更改,即使没有任何更改。试试这个。Thisworkbook.Saved=真正的傻瓜会认为工作簿已经保存 Sub Auto_Close() ThisWorkbook.Saved = True End Sub 或者将语法更改为 A

我有一个反复出现的问题。即使我的代码专门声明不保存更改,工作簿仍然会在程序完成时保存

wb2.Close Savechanges = False
wb1.Close Savechanges = False

问题是,当它有一个更晚的时间戳时,有人可能会认为做了一些更改,即使没有任何更改。

试试这个。Thisworkbook.Saved=真正的傻瓜会认为工作簿已经保存

Sub Auto_Close()
    ThisWorkbook.Saved = True
End Sub
或者将语法更改为

ActiveWorkbook.Close savechanges:=False

注意冒号

我喜欢弗朗西斯·迪恩(Francis Dean)在之前关于同一主题的帖子中给出的答案,因为它实际上通知用户wb不会被保存。但是,要使此解决方案起作用,需要将其保存在VBA设计模式中

此解决方案的另一个巨大优点是,即使用户使用CTRL+S(无需调用任何关闭事件)也可以


我将尝试.saved技巧。我正在打开和关闭大量工作簿,我已经尝试添加“Savechanges:=False”或“False”,但这些都不起作用。这似乎是一个合理的想法,但我正在打开和关闭大量工作簿,因此msgbox可能会让用户感到恼火,而不是帮助。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    Cancel = True

End Sub