【问题标题】:Difference in AskToUpdateLinks=False and UpdateLinks:=0AskToUpdateLinks=False 和 UpdateLinks:=0 的区别
【发布时间】:2018-01-17 20:52:33
【问题描述】:

我遇到了运行 Excel 宏的情况。 我试图摆脱这个对话框:

当我四处寻找时,我修复了对话框不会定期弹出的问题,这样我就不需要每次都点击取消底部。

以前,部分代码是这样的:

 Application.AskToUpdateLinks = False
 Application.DisplayAlerts = False
 Workbooks.Open Filename:=FullFileName

成功的代码是这样的:

 Application.DisplayAlerts = False
 Workbooks.Open Filename:=FullFileName, UpdateLinks:=0

那么 Application.DisplayAlerts = False 和将 updatelinks:=0 放在工作簿对象的末尾有什么区别?

新编辑(2017 年 8 月 10 日):

当我再次运行宏时不知何故出现错误!!!

我有

Application.Calculation = xlCalculationManual
Application.AskToUpdateLinks = False
Application.ScreenUpdating = False
Workbooks.Open FileName:=FullFileName, UpdateLinks:=0

和宏给我一个错误

运行时错误“9”:下标超出范围

我不知道为什么。

当我删除 UpdateLinks:=0 时,它通过了,但当对话框弹出时它迫使我点击取消。

我知道我哪里错了。目标文件名的变量无故放错了位置!

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    如果 Application.AskToUpdateLinks 设置为 False,则 Excel 将自动更新链接(或尝试更新但失败并显示错误消息)。

    如果 UpdateLinks 参数为 0,则不会更新链接,甚至不会尝试,也不会询问任何问题。 (顺便说一句,如果您希望它更新链接,您必须将此参数设置为 3,而不是 1)。

    另外,第一个例子改变了Application对象的属性,而第二个是一个Method参数,所以如果你在这之后打开另一个Workbook,第一个代码会影响它,而第二个不会。

    【讨论】:

    • 所以AskToUpdateLinks 是一个对话框,询问我是否要更新。虽然我选择了FALSE,这意味着我关闭对话框,但无论如何,宏仍然会更新链接。为了解决这个问题,我需要关闭工作簿对象以防止自动下载。谢谢!!!现在真的很清楚了。
    猜你喜欢
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2016-06-18
    • 2020-12-13
    • 1970-01-01
    • 2018-02-27
    相关资源
    最近更新 更多