python - 使用 win32com 更新链接,其中 excel 与多个源链接
问题描述
我正在使用 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')
有谁知道有效的解决方案?任何事情都会中断链接或继续。先感谢您
解决方案
excel.AskToUpdateLinks = False
据我所知,上述关闭提示并在文件打开时自动更新外部链接。尝试在下面使用:
excel = win32com.client.Dispatch("Excel.Application")
excel.DisplayAlerts = False
workbook = excel.Workbooks.Open(Path to file,UpdateLinks=0)
推荐阅读
- javascript - 函数运行而不被调用?
- php - 通过 public_html 目录中的脚本通过主目录中的 URL 调用脚本不起作用
- symfony - Symfony 4 投票者 - OnetoMany 关系
- algorithm - 查找图中所有节点的算法设计
- opencl - “clRetainKernel”函数的目的是什么?
- html - 调用时不弹出模态框
- tensorflow2.0 - 在tensforflow2中重新初始化某些层的权重的正确方法是什么?
- java - 整数输入 if while cond 在java中为假
- python - 如何在python上通过PUT上传文件而不打开文件
- django - Django API 查询