recherche

Maison  >  Questions et réponses  >  le corps du texte

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)

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

高洛峰高洛峰2802 Il y a quelques jours1506

répondre à tous(1)je répondrai

  • ringa_lee

    ringa_lee2017-04-18 09:07:10

    La cause du problème n'a pas été trouvée, mais elle a été résolue par d'autres méthodes.
    L'environnement dans lequel ce problème se produit est Python 2.7 32 bits, pywin32 32 bits, win7 64 bits et Office 2007.
    J'ai changé d'environnement sur une autre machine, Python 2.7 64 bits, pywin32-220.win-amd64-py2.7 64 bits, win7 64 bits, office 2007 (récemment installé).
    Le deuxième test d'environnement a réussi.
    Analyse des causes : 1. Le premier environnement est sur un ordinateur de bureau avec de nombreux logiciels installés, notamment un logiciel antivirus et un logiciel de cryptage DLP. Je ne sais pas si cela aura un impact sur le programme bureautique, ce qui. peut entraîner des erreurs lors de l'appel de win32com.
    2. L'environnement système doit être cohérent avec la configuration logicielle, c'est-à-dire à la fois 64 bits ou 32 bits. Parce qu'il peut y avoir des problèmes avec les modules Python 32 bits appelant des programmes bureautiques 64 bits.
    Ce qui précède sont mes pensées, tout le monde est invité à l'ajouter.

    répondre
    0
  • Annulerrépondre