Иногда загруженная рабочая книга содержит макросы, которые оставляют приложение в «несохраненном» состоянии, даже если никаких изменений не было сделано.Использование wbTest.app.quit()
в этом случае вызовет диалоговое окно сохранения, которое я не хочу видеть.Использование wbTest.app.kill()
закроет рабочую книгу (и закроет окно EXCEL), но при повторном открытии EXCEL отобразится диалоговое окно восстановления для уничтоженной книги wbTest, чего я бы хотел избежать.
Так, вот общее решение, которое работает для меня:
import xlwings
import tempfile
import os
# ... some code creating at least one workbook "wbTest"
# check, if there is only one workbook left and we don't want to save it
if len(xlwings.apps) == 1:
#save the remaining workbook into temporary folder
wbTest.save(
os.path.join(
tempfile.gettempdir(),
'test.xlsm',
)
)
# close the application
wbTest.app.quit()
Спасибо за все подсказки.