首頁  >  問答  >  主體

windows - Python调用win32com.client.Dispatch('Word.Application')报错

我现在使用Python进行office文件操作,但是在调用win32com.client.Dispatch模块时报错,代码如下:

import win32com
from win32com.client import Dispatch,constants
w = win32com.client.Dispatch('Word.Application')

错误信息如下所示:
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "C:Python27libsite-packageswin32comclient__init__.py", line 95, in Dispatch

dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)

File "C:Python27libsite-packageswin32comclientdynamic.py", line 114, in _GetGoodDispatchAndUserName

return (_GetGoodDispatch(IDispatch, clsctx), userName)

File "C:Python27libsite-packageswin32comclientdynamic.py", line 91, in _GetGoodDispatch

IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)

com_error: (-2147221164, 'xc3xbbxd3xd0xd7xa2xb2xe1xc0xe0', None, None)

我有点看不太懂,也没查到太多有用信息,各位有没有遇到类似问题的,请赐教。

高洛峰高洛峰2740 天前1456

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-04-18 09:07:10

    問題沒有找到原因,但用其他方法解決了。
    這個問題發生的環境是Python 2.7 32位,pywin32 32位,win7 64位, office 2007。
    我在另一台機器上換了另外的環境,Python 2.7 64位,pywin32-220.win-amd64-py2.7 64位,win7 64位,office 2007(新裝)。
    第二種環境測試通過。
    原因分析:1.第一種環境是在辦公室電腦上,裝了很多軟體,防毒軟體,dlp加密軟體,不知道會不會對office程式有什麼影響,有可能導致win32com呼叫出錯。
    2.系統環境必須與軟體配置一致,即同為64位,或同為32位。因為32位元Python模組呼叫64位元office程式可能是有問題的。
    以上是我的想法,歡迎大家補充。

    回覆
    0
  • 取消回覆