Использование win32com для взаимодействия с Excel:
import win32com.client
...
self.excel = win32com.client.gencache.EnsureDispatch("Excel.Application")
self.workbook = self.excel.Workbooks.Add()
#Modify the workbook...
self.workbook.SaveAs(...)
self.excel.Quit()
Это хорошо работает и генерирует новый Excel-документ в фоновом режиме (безголовый режим), если ни один экземпляр Excel уже не запущен до того, как скриптзапущен.
Однако, если у пользователя уже был открыт Excel, экземпляр Excel, созданный скриптом Python, становится видимым.Как я могу предотвратить это?Еще хуже, когда пользователь выполняет какое-либо действие (например, щелчок по ячейке) в любом из двух экземпляров Excel, сценарий завершается ошибкой:
(ERROR): pywintypes.com_error: (-2146777998, 'OLE error 0x800ac472', None, None)
Существует ли способ принудительного включения режима без головы и особенно дляпредотвратить пользовательские действия в GUI, чтобы конфликтовать с работающим скриптом Python?Другими словами, я хочу, чтобы экземпляр Excel, созданный сценарием, был полностью независим от любой другой активности Excel, которая может иметь место.