0
를 COM 개체의 속성에 액세스하려고 할 때 :오류 포인터 (의 IUnknown) 파이썬에서이 코드가 작동하지 않는
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
doc = word.Documents.Open("test.docx")
AttributeError: 'POINTER(IUnknown)' object has no attribute 'Documents'
유사 코드는 클래스 엑셀 사용 :
from comtypes import client word = client.CreateObject("Word.Application") word.Documents.Open("C:\\test.docx")
내가이 오류 메시지가 .Application도 같은 종류의 오류를 제공합니다.
InternetExplorer.Application의 다른 테스트가 효과적입니다. 그래서 그것은 Office의 문제로 보입니다.
또한 VBScript에서 동일한 코드를 테스트하여 작동했습니다.
이 코드는 Windows7-64bits 및 Office 2013에서 작동합니다. 작동하지 않는 컴퓨터는 Windows10-64bits 및 Office 365입니다. 두 컴퓨터의 Python 버전은 3.6-64bits입니다.
개체가 실행 중 상태가 아니 어서 Documents 속성에 대한 호출이 실패하는 이유가 될 수 있습니다. WinAPI 함수 인 OleRun (word)을 호출하면 개체가 실행 상태에 있음을 보증합니다. OTOH, 내가 아는 모든 것에 똑같은 일을하는 Python 함수가있을 수 있습니다. –
감사합니다 @ JoeWillcoxson,하지만 저는 Python이나 WinAPI 전문가가 아닙니다. – Tripanosomagambiense