Excel 显示警报VBA

Excel 显示警报VBA,excel,vba,Excel,Vba,我有一个宏,它的顶行(在调暗变量后)有两行 Application.EnableEvents = False Application.DisplayAlerts = False 我的问题是,尽管在我的宏中有这些链接,但仍然会出现一个弹出窗口,询问我是否要更新链接。有人知道为什么会发生这种情况/解决方法吗 非常感谢(我没有包括我的代码,因为弹出更新链接的原因是我打开的文档,而不是代码本身)工作簿的第二个参数。打开方法允许您避免弹出请求更新链接的对话框。尝试使用以下语法更新外部链接: Workbo

我有一个宏,它的顶行(在调暗变量后)有两行

Application.EnableEvents = False
Application.DisplayAlerts = False
我的问题是,尽管在我的宏中有这些链接,但仍然会出现一个弹出窗口,询问我是否要更新链接。有人知道为什么会发生这种情况/解决方法吗


非常感谢(我没有包括我的代码,因为弹出更新链接的原因是我打开的文档,而不是代码本身)

工作簿的第二个参数。打开方法允许您避免弹出请求更新链接的对话框。尝试使用以下语法更新外部链接:

Workbooks.Open path_file, TRUE, ...
将其设置为
FALSE
以不更新


有关打开工作簿时的其他信息,请确保在参数中包含UpdateLink=false

指定文件中外部引用(链接)的方式,例如 对Budget.xls工作簿中以下区域的引用 公式=总和([Budget.xls]年度!C10:C25),已更新如果 参数,则提示用户指定链接的创建方式 已更新。


(Emphasis mine)

如果您想在代码执行期间的任何时候在vba级别应用此限制,您可以在工作簿级别或应用程序级别应用此限制

WorkbookName.UpdateLinks = xlUpdateLinksNever
AppExcel.AskToUpdateLinks = False

此外,当我单步执行代码时,即使在读取“显示警报=错误”行后,“显示警报”仍保持为真…它没有注释,因此我看不出它为什么这样做?将“显示警报”设置为“错误”仅适用于当前代码(宏)执行期间。在帮助中:“如果将此属性设置为False,则Microsoft Excel会在代码完成时将此属性设置为True,除非您正在运行跨进程代码。”