AskToUpdateLinks=False 和 UpdateLinks:=0 的区别

Oli*_*ird 1 excel vba

我遇到了运行 Excel 宏的情况。我试图摆脱这个对话框:https://drive.google.com/open?id=0BzzXkoIWuMAHOF9oV1o5dmFhcWc

当我四处探索时,我发现对话框不会定期弹出,这样我就不需要每次都点击取消按钮。

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

 Application.AskToUpdateLinks = False
 Application.DisplayAlerts = False
 Workbooks.Open Filename:=FullFileName
Run Code Online (Sandbox Code Playgroud)

成功的代码是这样的:

 Application.DisplayAlerts = False
 Workbooks.Open Filename:=FullFileName, UpdateLinks:=0
Run Code Online (Sandbox Code Playgroud)

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

新编辑(8/10/2017):

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

我有

Application.Calculation = xlCalculationManual
Application.AskToUpdateLinks = False
Application.ScreenUpdating = False
Workbooks.Open FileName:=FullFileName, UpdateLinks:=0
Run Code Online (Sandbox Code Playgroud)

和宏给我一个错误

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

我不知道为什么。

当我删除时UpdateLinks:=0,它通过了,但它迫使我在弹出的对话框中单击“取消”。

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

z32*_*7ul 5

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

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

此外,第一个示例更改了 Application 对象的属性,而第二个示例是 Method 参数,因此如果在此之后打开另一个 Workbook,第一个代码将对其产生影响,而第二个代码则不会。