Excel VBA使Excel相信,直到真正的变化发生
场景:
- 工作簿已打开
- screenupdate,计算(手动)事件设置为false
- 用户窗体显示和用户input一些值。
- 用户按下确定
- 从用户表单填充表单中的值
- 工作簿保存
- screenupdate,计算(自动)事件设置为true
当用户然后试图closures应用程序,而没有在工作簿中做任何事情,它会提示保存对话框。
不是一个大问题,但刺激:)任何方式来解决这个问题?
您是否尝试将工作簿的“保存值”设置为true? 就像是:
ActiveWorkbook.Saved = True
我已经在自己的代码中看到了这种事情,在我的情况下,几乎总是由于volatile函数。 您可以在ThisWorkbook
代码模块中具有以下内容:
Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Save End Sub
这应该可以工作,但是如果用户在用户表单closures之后进行了更改,那么他们可能会产生不希望的结果,而这些更改是他们不想保留的。