我正在尝试使用 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