如何解决XLWings-app.display_alerts = False,不抑制错误的公式错误消息
我正在使用Python 3.8.3
和XLWings 0.19.5
。我试图在工作簿中直接运行excel方程时写一个try...catch
,但是方程中有某些错误会导致应用程序挂起。我认为这是由于弹出了一个消息框。
import xlwings as xw
appExcel = xw.apps.add()
appExcel.display_alerts = False
appExcel.screen_updating = False
wbEquation = xw.Book()
wbEquation.sheets.add(name='Calculate')
wsEquation = wbEquation.sheets['Calculate']
badFormula = "=A1+(A2+A3"
try:
wsEquation.range('B1').formula = badFormula
except Exception:
appExcel.quit()
raise Exception("There was an error when running the equation.")
对于display_alerts=False
,我不确定为什么它挂在wsEquation.range('B1').formula = badFormula
行上,我相信是由于There is a problem with a formula
错误。在XLWings 0.10.0
的较旧版本上,当我尝试执行该方程式时,它不会挂断并经过错误消息。
*编辑:因此,我测试了which version确实将其破解,并且能够使其在0.11.5
中正常工作。升级到0.11.6
破坏了它。在这两个版本之间的release notes中,我看不到任何暗示这一点的原因。
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。