にこのコードをCOMオブジェクトのプロパティにアクセスしようとすると、動作していないとき:クラスExcelを使用してエラーPOINTER(IUnknownの)Pythonで
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")
私は、このエラーメッセージが表示されます。アプリケーションも同じ種類のエラーを示します。別のテストInternetExplorer.Applicationが働いた。だから、Officeの問題だと思われる。
また、同じコードをVBScriptでテストして作業しました。
コードはWindows7-64bitsおよびOffice 2013で動作します。動作していないコンピュータはWindows10-64bitsおよびOffice 365です。両方のコンピュータのPythonバージョンは3.6-64bitsです。
オブジェクトが実行状態でないことが原因で、ドキュメントプロパティへの呼び出しが失敗することがあります。 WinAPI関数OleRun(word)を呼び出すと、オブジェクトが実行状態にあることが保証されます。 OTOH、私が知っているすべてに対して同じことをするPython関数があるかもしれません。 –
@JoeWillcoxsonありがとうございますが、私はPythonやWinAPIの専門家ではありません – Tripanosomagambiense