使用win32com更新链接,其中excel链接到多个源

2024-09-28 17:22:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用win32com.client打开Excel

excel = win32com.client.Dispatch("Excel.Application")

workbook = excel.Workbooks.Open(filename,UpdateLinks=False, ReadOnly=True)

有时会生成包含以下文本的警报:

“此工作簿包含一个或多个无法删除的链接 已更新。”&;选项有:“继续”和“编辑链接”)

这将停止脚本,直到我手动处理对话框(这不是首选)

我想继续下去,就好像“继续”已经结束一样 单击,或取消显示整个对话框,我找不到执行此操作的方法

搜索Stackoverflow论坛,我看到了以下建议:

excel.DisplayAlerts = False
excel.AskToUpdateLinks = False

我已经尝试了其中的每一种(在excel变量被调用之后立即尝试) 单独或一起,两者都没有预期效果

正如其他论坛所建议的那样,我也尝试打开excel&;储蓄及;然后再次使用python重新打开,这也不起作用

wb = xlApp.Workbooks.Open(Path to file,UpdateLinks = False)
ws = wb.Worksheets('XYZ')
wb.Close(SaveChanges=1)
excel.Visible = False
excel.ScreenUpdating = False 
excel.DisplayAlerts = False
excel.AskToUpdateLinks = False

wb = xlApp.Workbooks.Open(Path to file)
ws = wb.Worksheets('XYZ')

有人知道有效的解决方案吗?任何操作都可以中断链接或继续。 先谢谢你


Tags: clientfalse链接openexcel论坛建议win32com
1条回答
网友
1楼 · 发布于 2024-09-28 17:22:29
excel.AskToUpdateLinks = False

据我所知,上面关闭了提示,并在文件打开时自动更新外部链接。请尝试在下面使用:

excel = win32com.client.Dispatch("Excel.Application")
excel.DisplayAlerts = False
workbook = excel.Workbooks.Open(Path to file,UpdateLinks=0)

相关问题 更多 >