ホームページ  >  に質問  >  本文

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日前1453

全員に返信(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 (新規インストール) に変更しました。
    2 回目の環境テストに合格しました。
    原因分析: 1. 最初の環境は、ウイルス対策ソフトウェアや DLP 暗号化ソフトウェアを含む多くのソフトウェアがインストールされたオフィスのコンピューター上にありますが、オフィスのプログラムに影響を与えるかどうかはわかりません。 win32com の呼び出し時にエラーが発生する可能性があります。
    2. システム環境はソフトウェア構成、つまり 64 ビットまたは 32 ビットの両方と一致している必要があります。 32 ビット Python モジュールが 64 ビット Office プログラムを呼び出すと問題が発生する可能性があるためです。
    上記は私の考えですので、どなたでも追加していただけます。

    返事
    0
  • キャンセル返事