AskToUpdateLinks = False和UpdateLinks中的差异:= 0
我有一个运行Excelmacros的情况。 我试图摆脱这个对话框:
正当我在旁边的时候,我确定对话不会周期性地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,则第一个代码将对其有影响,而第二个代码不会。