gpt4 book ai didi

Python 和 Excel - 检查文件是否打开

转载 作者:行者123 更新时间:2023-11-28 22:06:57 25 4
gpt4 key购买 nike

嘿伙计们,我需要帮助考虑在 Python 中使用 win32com:我有一个打开工作簿、创建工作表并在其上放置一些数据的例程。如果一切正常,则保存并关闭 woorkbook - 如果不是,则 python session 终止但 woorkbook 保持打开状态。所以引用丢失了。现在,当重新启动代码时,Excel 会提示您消息“工作簿仍处于打开状态,您想重新打开吗?”。所以我想要的是抑制这个消息。当 python 在写入工作表之前终止时,我找到了一个适合我的解决方案:

        open_copys = self.xlApp.Workbooks.Count
if open_copys > 0:
""" Check if any copy is the desired one"""
for i in range(0, open_copys):
if(self.xlApp.Workbooks[i].FullName == self.file_path):
self.xlBook = self.xlApp.Workbooks[i]
else:
self.xlBook = self.xlApp.Workbooks.Open(self.file_path)

但如果在 EXCEL 表上进行了任何更改,则此方法已过时。任何人都知道如何从新的 python session 中取回对打开和更改的工作表的引用?谢谢

最佳答案

我不熟悉 Python,但用其他语言编写了一些 Excel/Word COM 代码。
Excel 的 Application.DisplayAlerts 属性可能会有所帮助。将其设置为 False 会抑制 Excel 通常可能显示的大多数消息,并自动选择默认响应,但我认为有一些异常(exception)。查看您现有的代码,我猜您会在打开工作簿之前插入这一行:

  self.xlApp.DisplayAlerts = False

关于Python 和 Excel - 检查文件是否打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2816530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com