【发布时间】:2016-07-18 21:48:38
【问题描述】:
我正在尝试使用 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 文件 (x86)\Microsoft 办公室\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
【问题讨论】:
标签: python winapi excel com custom-exceptions