当应用程序关闭,显示如果我要保存文件弹出。我不想保存文件,并希望它自动关闭。
我以为DisplayAlerts = False
会做的工作,但它不会工作
if os.path.exists("file_name.xlsm"):
xl=win32com.client.Dispatch("Excel.Application")
xl.Workbooks.Open(os.path.abspath("file_name.xlsm"))
xl.Application.Run("module.module")
sht.range('A1').value = 11
xl.DisplayAlerts = False
xl.Application.Quit()
del xl
如果当您使用此方法未保存工作簿是开放的,微软的Excel会显示一个对话框,询问是否要保存更改。您可以通过使用Quit方法之前或由DisplayAlerts属性设置为False保存所有工作簿防止这一点。当此属性为False,当你未保存工作簿退出Microsoft Excel不显示该对话框;它退出而不保存。
如果您设置一个工作簿为True Saved属性,而不工作簿保存到磁盘时,Microsoft Excel将退出时不要求保存工作簿。
也就是说,你在做什么应该工作,实际上在我的测试(只是通过COM打开Excel,设置xl.Visible
到True
,创建一个新的工作簿,进行更改,并试图与不DisplayAlerts
集关闭应用程序的工作原理完全没问题到False
)。
从这里,你可以尝试
Saved
到True
为每个打开的工作簿时,由所述文档的建议,或Application.EnableEvents = False
,之前退出。