我现在使用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)
我有点看不太懂,也没查到太多有用信息,各位有没有遇到类似问题的,请赐教。
ringa_lee2017-04-18 09:07:10
문제의 원인은 발견되지 않았으나, 다른 방법으로 해결되었습니다.
이 문제가 발생하는 환경은 Python 2.7 32-bit, pywin32 32-bit, win7 64-bit, office 2007 입니다.
다른 머신, Python 2.7 64-bit, pywin32-220.win-amd64-py2.7 64-bit, win7 64-bit, office 2007(새로 설치)에서 다른 환경으로 변경했습니다.
2차 환경 테스트를 통과했습니다.
원인 분석: 1. 첫 번째 환경은 바이러스 백신 소프트웨어와 DLP 암호화 소프트웨어를 포함하여 많은 소프트웨어가 설치된 사무실 컴퓨터에 있으며, 이것이 사무실 프로그램에 어떤 영향을 미칠지 모르겠습니다. win32com 호출 시 오류가 발생할 수 있습니다.
2. 시스템 환경은 소프트웨어 구성, 즉 64비트 또는 32비트와 일치해야 합니다. 64비트 오피스 프로그램을 호출하는 32비트 Python 모듈에 문제가 있을 수 있기 때문입니다.
위 내용은 제 생각입니다. 누구나 추가해도 좋습니다.