我有一个代码,基本上操作xlsm文件,按一个宏按钮,然后强制关闭它(使用psutil)
其过程是:打开xlsm文件(MyExcel.xslm)==> write data ==>按下宏按钮,save==>强制关闭(用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,xlwing =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!!
在本例中,它仅在run number =612中失败。
有时它会在500分钟内失败。诸若此类
发布于 2019-06-10 20:55:47
正如上面的评论所显示的,我已经实现了一个内部删除,
self.workBook.app.kill()
似乎它已经解决了这个问题。
https://stackoverflow.com/questions/56522501
复制相似问题