[英]com_error: (-2147221005, 'Invalid class string', None, None)
[英]win32com.client.Dispatch(“Outlook.Application”) error pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)
我在Windows 7上安装了Windows Live。 现在,当我尝试运行以下代码时
import win32com.client
win32com.client.Dispatch("Outlook.Application")
我收到了以下错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in
Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,c
lsctx)
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 108, in
_GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 85, in _
GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.II
D_IDispatch)
pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)
我有另一台安装了Windows XP和Outlook的机器。 我运行相同的代码,我得到了同样的错误。
还有一个问题。 如何在Windows 7上获得Windows的com?
任何建议和意见将不胜感激。
这表示未安装Outlook。 “ windows live
”或“ outlook.com
”对你没有帮助。
我遇到了类似的错误。 您是否尝试从win32com的文件夹中运行makepy.py来为您正在使用的不同COM对象创建条目? 基本上,win32com只会将您与之交互的所有应用程序视为默认的COM对象,直到您了解计算机上安装的程序为止。 您必须为要使用它控制的每个程序运行makepy.py.
运行它之后,我获得了对Outlook的更多控制权。 它已经打开了我正在纠正的其他错误。
此外,如果您使用comobject( comboject = win32com.client.Dispatch(“Outlook.Application”) )并查看comboject._prop_map_get_.keys(),您将看到可以用于该程序的所有内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.