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

时间:2017-07-20 15:14:00

标签: excel-vba savechanges vba excel

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

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

问题在于,当它有一个较晚的时间戳时,有人可能会假设进行了一些更改,即使没有任何更改。

2 个答案:

答案 0 :(得分:0)

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

Sub Auto_Close()
    ThisWorkbook.Saved = True
End Sub

或者将语法改为

ActiveWorkbook.Close savechanges:=False

请注意冒号!

答案 1 :(得分:0)

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

此解决方案的另一大优势是即使用户使用CTRL + S(不调用任何关闭事件)

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

    Cancel = True

End Sub

How to Disable Save and Save As using VBA