在Excel中使用Application.Quit VBA应该启动默认退出过程,其中包括提示用户保存当前在应用程序中打开的未保存文档。
在跨多个系统(Excel 2010 32位,Windows 7 64位)进行测试时,我发现有些系统提示用户保存,而某些系统则没有。
我们检查了系统中的设置(包括启用所有宏和禁用受保护的视图)无济于事。即使在不同系统上使用相同的设置,也不会强制一个系统在Excel关闭之前提示用户保存其工作。
就好像Application.DisplayAlerts已设置为False,但它没有。我们甚至尝试了以下几行代码:
Application.DisplayAlerts = True
Application.Quit
在某些系统上,即使仍然没有提示用户保存未保存的文档。 Excel突然关闭了。
非常感谢任何解决此问题的帮助。
谢谢!
更新以回应评论:
我仔细检查了所有打开和未保存的工作簿的Workbooks.Saved属性,并且在Application.Quit之前它是假的,所以这不应该是问题。
我还跑了一个简单的测试。我打开了一个工作簿,对其进行了编辑,并在VBA的即时窗口中执行了Application.Quit。 Excel退出而不提示保存未保存的文件。这向我表明它与我的Excel设置有关,与我的应用程序无关。
答案 0 :(得分:5)
禁用Solver Add-In会返回正常行为。
答案 1 :(得分:0)
我使用以下代码保存工作簿并关闭应用程序
ActiveWorkbook.Save
Application.Quit
但崩溃后excel要求我禁用Solver。禁用解算器后,Excel无法识别save命令,并且尽管使用了save命令,它仍在继续询问是否要保存工作簿。
然后我发现这个错误可以通过再次启用解算器来解决......
非常奇怪
答案 2 :(得分:0)
我尝试了禁用Solver加载项的相同操作,但是没有用。我决定也尝试禁用Hstbar插件。它们都被禁用,使得提示再次开始工作。