У меня есть код, который в основном манипулирует файлом xlsm, нажимает кнопку макроса и затем принудительно закрывает его (используя psutil)
процесс такой: открыть файл xlsm (MyExcel.xslm) ==> записать данные ==> нажать кнопку макроса, сохранить ==> принудительно закрыть (с помощью psutil).
и процесс повторяется 'x' раз (скажем, 20000 раз)
это сила закрытия:
for proc in psutil.process_iter():
if proc.name() == "EXCEL.EXE":
proc.kill()
и при полном случайном запуске python останавливается со следующей ошибкой:
File "C:\Program Files\Python36\lib\site-packages\xlwings \_xlwindows.py", line 296, in __init__
self._xl = COMRetryObjectWrapper(DispatchEx('Excel.Application'))
File "C:\Program Files\Python36\lib\site-packages\win32com\client\__init__.py", line 113, in DispatchEx
dispatch = pythoncom.CoCreateInstanceEx(clsid, None, clsctx, serverInfo, (pythoncom.IID_IDispatch,))[0]
pywintypes.com_error: (-2146959355, 'Server execution failed', None, None)
Я использую Python 3.6.6, xlwings = 0.15.1
попытался добавить задержки (time.sleep (1)), чтобы добавить время между выполнениями
в этой строке всегда происходит сбой (последняя строка):
класс RoutingManipulator ():
def __init__(self):
self.__number_of_cells = 48
self.new_file = os.path.join(folder, file)self.new_file= Myfile.xlsm
self.workBook = xw.Book(self.new_file) # FAILS HERE!!
в этом примере, это только сбой в прогоне номер = 612.
иногда не получается 500 ... и т. Д.