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, 'Exception occurred.', (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 回答