1

COMを使用してPythonでExcelファイルを開こうとしていますが、ファイルが見つからないというエラーをキャッチしようとしています。

私は最初にIOErrorをキャッチしようとしました:

try:
   output = xl.Workbooks.Open(Params.workbookName)
except IOError as reason:
   print reason
   exit()

ただし、COMは、ファイルが見つからないという問題がある場合、IOエラーを発生させません。代わりに、com_errorと呼ばれるものを発生させます。

com_error:(-2147352567、'例外が発生しました。'、(0、u'Microsoft Office Excel'、u "'asdf.xlsx'が見つかりませんでした。ファイル名のスペルを確認し、ファイルの場所が正しいことを確認してください。\n\ n最近使用したファイルのリストからファイルを開こうとしている場合は、ファイルの名前が変更、移動、または削除されていないことを確認してください。 "、u'C:\ Program Files(x86)\ Microsoft Office \ Office12 \ 1033 \ XLMAIN11.CHM'、0、-2146827284)、なし)

論理的に私はこれを試しました:

try:
   output = xl.Workbooks.Open(Params.workbookName)
except com_error as reason:
   print reason
   exit()

しかし...

NameError: global name 'ComError' is not defined
4

1 に答える 1

2

試す:

from pythoncom import com_error

exceptあなたのブロックでそれをキャッチします

于 2011-06-13T22:00:19.930 に答える