我需要知道什么是触发Excel“你要保存…”的对话

我打开某个Excel 2007工作簿,然后closures它,而不进行任何手动更改,但是我得到“您要保存…吗? 对话可能是因为内部的东西是自动计算的。 我在WorkBook Open事件期间放置了Msgbox(ThisWorkBook.Saved),它显示False,这确实表明某处某处正在改变,但是我已经将WorksheetChange事件代码放在每个工作表上,并且没有一个被触发。

有任何想法吗 ?

任何内嵌的volatile函数都会导致这种行为。 这包括诸如RAND()TODAY()等等,以及任何已经声明为volatile的用户定义的函数,即具有声明Application.Volatile

进一步阅读http://www.decisionmodels.com/calcsecretsi.htm