我有 SQL Spreads 插件,用于与此代码无关的工作。
当我尝试运行 xlwings python 脚本时,尝试打开 Excel 工作簿时它总是崩溃:
wb_output = xw.Book(output_file_path, update_links=False)
出现此错误代码:
Exception has occurred: com_error
(-2146959355, 'Server execution failed', None, None)
发生这种情况时,它还会禁用 SQL Spreads 加载项。当我第二次运行代码时,它可以正常运行并且能够不间断地工作。但是,每次运行脚本后我都必须重新启用 SQL Spreads 扩展。
我无法避免第一次崩溃和 SQL Spreads 的禁用。 SQL Spreads 在打开时需要 Microsoft 帐户登录,因此我怀疑当 SQL Spreads 请求登录信息时,xlwings 会超时。
如何使 xlwings 不禁用我的其他加载项,并且在第一次运行 python 脚本时不崩溃?
经过更多研究后,我找到了解决方法。
这可以防止登录弹出窗口破坏 xlwings 代码,因为它已经得到满足。我注意到这个解决方法并不完美,有时会导致 SQL Spread 被禁用,但大多数时候它都是成功的。