我使用的是windows7,并且安装了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的com在windows7上运行?
任何建议和评论都将不胜感激。
发布于 2015-03-23 22:36:01
这表示尚未安装Outlook。"windows live
“或"outlook.com
”对你没有帮助。
发布于 2016-06-08 18:34:11
我也遇到了类似的错误。您是否尝试过从win32com的文件夹中运行makepy.py来为您正在使用的不同for对象创建条目?基本上,win32com只是将您与之交互的所有应用程序视为默认COMobjects,直到您让它了解您计算机上安装的程序。你必须为你想要控制的每个程序运行makepy.py。
在我运行它之后,我获得了对Outlook更多的控制。它打开了其他错误,我正在努力纠正这些错误。
此外,如果您使用comobject (comboject = win32com.client.Dispatch("Outlook.Application")) )并查看comboject._prop_map_get_.keys(),您将看到可以用于该程序的所有内容。
https://stackoverflow.com/questions/14124915
复制相似问题