简体   繁体   中英

invalid class string using win32com library python

I wrote the flowing to dispatch an excel application. I used the win32 library in python and wrote this:

import win32com.client as win32
import pywinauto

excel = win32.gencache.EnsureDispatch('Excel.Application'

Because of this line i got this error:

K:\venv\Scripts\python.exe K:/test_results.efrat.py
Traceback (most recent call last):
  File "K:\venv\lib\site-packages\win32com\client\dynamic.py", line 89, in _GetGoodDispatch
    IDispatch = pythoncom.connect(IDispatch)
win32.types.com_error: (-2147221005, 'Invalid class string', None, None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "K:/test_results.efrat.py", line 8, in <module>
    excel = win32.gencache.EnsureDispatch('Excel.Application')
  File "K:\venv\lib\site-packages\win32com\client\gencache.py", line 527, in EnsureDispatch
    disp = win32com.client.Dispatch(prog_id)
  File "K:\venv\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "K:\venv\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "K:\venv\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
win32.types.com_error: (-2147221005, 'Invalid class string', None, None)

Process finished with exit code 1

Does anyone know what could be the problem? I have pywin32 and pypiwin32 installed in my library packages.

It works fine for me. Remove your pywin32 from site-packages and try installing the pywin32.exe from the following URL :

https://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM