pywin32-216.win32-py2.7 がインストールされた Python 2.7.2 では、win32com モジュールを使用して Windows で Excel を次のように処理します。
>>> import win32com.client
>>> xlsApp = win32com.client.Dispatch('Excel.Application')
>>> xlsApp.Workbooks.Open(r'D:/test.xls')
エラーが発生します:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<COMObject <unknown>>", line 8, in Open
pywintypes.com_error: (-2147352567, '\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3',
(0, u'Microsoft Office Excel', u'\u540d\u4e3a\u201ctest.xls\u201d\u7684\u6587\u6
863\u5df2\u7ecf\u6253\u5f00\u3002\u4e0d\u80fd\u540c\u65f6\u6253\u5f00\u540c\u540
d\u6587\u4ef6\uff0c\u65e0\u8bba\u5b83\u4eec\u662f\u5426\u5728\u540c\u4e00\u6587\
u4ef6\u5939\u4e2d\u3002\n\u8981\u6253\u5f00\u7b2c\u4e8c\u4efd\u6587\u6863\uff0c\
u8bf7\u5173\u95ed\u5df2\u7ecf\u6253\u5f00\u7684\u6587\u6863\uff0c\u6216\u8005\u9
1cd\u65b0\u547d\u540d\u5176\u4e2d\u7684\u4e00\u4e2a\u6587\u6863\u3002', None, 0,
-2146827284), None)
情報は読めませんが、何が問題なのかわかりません!
インターネットで検索した後、http://www.python-forum.org/pythonforum/viewtopic.php?f=15&t=17665で役立つものを見つけました。
pywintypes.com_error: (-2147352567, '例外が発生しました.', (0, u'Microsoft Office Excel', u"'test .xls' が見つかりませんでした。ファイル名のスペルを確認し、ファイルの場所を確認してください\n\n[ファイル] メニューの最近使用したファイルのリストからファイルを開こうとしている場合は、ファイルが名前変更、移動、または削除されていないことを確認してください。", u'C:\Program Files\Microsoft Office\OFFICE11\1033\xlmain11.chm', 0, -2146827284), なし)
同じ問題だと思うので、最初に Excel ファイル 'D:/test.xls' を作成すると、すべて問題なく動作します。
>>> xlsApp.Workbooks.Open(r'D:/test.xls')
<COMObject Open>
読めるエラーのヒントがあれば、難しいことはせずにすぐに問題を解決できます。
win32com.client から得られるエラーがなぜそのようなものなのだろうか? 情報を読みやすくするためにできることはありますか?
私はあなたの助けに感謝します!