Невозможно запустить макрос Excel с помощью Python 3 - PullRequest
0 голосов
/ 02 мая 2019

Мне не удалось выполнить код, запускающий макрос Excel.Ниже приведен краткий обзор трассировки.

 File "c:\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 127, in Dispatch
   IDispatch, userName = _GetGoodDispatchAndUserName(IDispatch,userName,clsctx)
 File "c:\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
   return (_GetGoodDispatch(IDispatch, clsctx), userName)
 File "c:\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
   IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147417846, 'The message filter indicated that the application is busy.', None, None)

Я пробовал различные варианты запуска макроса Excel, предоставляемые в stackoverflow и некоторых других блогах, но у меня ничего не получалось.

fileName = "Report_" + now.strftime("%Y%m%d") + ".xlsm"
filePath = "H:/" + fileName
xlapp = win32com.client.dynamic.Dispatch('Excel.Application')
wb = xlapp.Workbooks.Open(os.path.abspath(filePath))
xlapp.Application.Run(fileName + "!Module1.printdate")
wb.Save()
xlapp.Application.Quit()
del xlapp
...