AskToUpdateLinks = False和UpdateLinks中的差异:= 0

我有一个运行Excelmacros的情况。 我试图摆脱这个对话框: https://drive.google.com/open?id=0BzzXkoIWuMAHOF9oV1o5dmFhcWc

正当我在旁边的时候,我确定对话不会周期性地popup,所以我不需要每次都打到取消底部。

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

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

成功的代码是这样的:

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

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

新编辑(8/10/2017):

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

我有

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

和macros扔我一个错误

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

我不知道为什么。

当我删除UpdateLinks:=0 ,它已经通过了,但是当它popup对话框时,它迫使我单击取消。

我知道我错了。 目标文件名的variables没有理由错位!

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

如果UpdateLinks参数为0,那么链接将不会更新,甚至没有尝试,也不会被问到。 (顺便说一句,如果你想要更新的链接,你必须将此参数设置为3,而不是1)。

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