如何取消更新链接警告?

您所在的位置:网站首页 excel不提示更新链接 如何取消更新链接警告?

如何取消更新链接警告?

2023-09-15 16:13| 来源: 网络整理| 查看: 265

更新:

在总结并讨论了所有细节之后,我花了2个公平的时间来检查这些选项,此更新是将所有is 标记为点。

准备工作

首先,我在由VMWare驱动的Clean Win7 SP1 Ultimate x64虚拟机上执行了干净的Office 2010 x86安装(这是我日常测试任务的常规例程,因此我已经部署了许多此类任务)。

然后,我仅更改了以下Excel选项(即,所有其他选项在安装后均保持不变):

Advanced > General > Ask to update automatic links 已检查:

要求更新自动链接

Trust Center > Trust Center Settings... > External Content > Enable All... (尽管与数据连接相关的连接在这种情况下最不重要):

外部内容

前提条件

我按照他的最新答案中的建议准备并放置到C:\工作簿@Siddharth Rout中(为了方便您共享):https: //www.dropbox.com/s/mv88vyc27eljqaq/Book1withLinkToBook2.xlsx然后删除了链接的书,以便共享中的链接该书不可用(肯定)。

手动开启

上面的共享文件在打开时(具有上面列出的Excel选项)显示2条警告-按出现的顺序:

警告#1

该工作簿包含其他数据源的链接

单击后,Update我有望得到另一个:

警告#2

该工作簿包含一个或多个无法更新的链接

因此,我想我的测试环境现在与的非常相似OP。到目前为止,到目前为止,我们终于可以

VBA开幕

现在,我将逐步尝试所有可能的选项,以使图片清晰。为了简单起见,我将只共享相关的代码行(最后将共享带有代码的完整示例文件)。

1.简单的Application.Workbooks.Open

Application.Workbooks.Open Filename:="C:\Book1withLinkToBook2.xlsx"

不足为奇-这会产生两个警告,就像上面的手动打开一样。

2. Application.DisplayAlerts = False

Application.DisplayAlerts = False Application.Workbooks.Open Filename:="C:\Book1withLinkToBook2.xlsx" Application.DisplayAlerts = True

该代码以WARNING#1结尾,并且单击任一选项(Update/ Don't Update)都不会产生进一步的警告,即Application.DisplayAlerts = False禁止显示WARNING#2。

3. Application.AskToUpdateLinks = False

Application.AskToUpdateLinks = False Application.Workbooks.Open Filename:="C:\Book1withLinkToBook2.xlsx" Application.AskToUpdateLinks = True

相反DisplayAlerts,此代码仅以警告#2结尾,即Application.AskToUpdateLinks = False取消警告#1。

4.双重错误

Application.AskToUpdateLinks = False Application.DisplayAlerts = False Application.Workbooks.Open Filename:="C:\Book1withLinkToBook2.xlsx" Application.DisplayAlerts = True Application.AskToUpdateLinks = True

显然,该代码最终以禁止BOAT WARNINGS结束。

5. UpdateLinks:=否

Application.Workbooks.Open Filename:="C:\Book1withLinkToBook2.xlsx", UpdateLinks:=False

最后,此1行解决方案(最初由提出@brettdj)的工作方式与Double False:没有警告!

结论

除了良好的测试实践和非常重要的已解决案例(我将工作簿发送给3rd Party时,我可能每天都会遇到此类问题,现在我已经准备好了),另外还学习了2件事:

无论版本如何,Excel选项都很重要-尤其是当我们使用VBA解决方案时。 每个麻烦都有简短而优雅的解决方案-以及不明显和复杂的解决方案。仅此而已!)

非常感谢为解决方案做出贡献的每个人,尤其是提出问题的OP。希望我的调查和详尽描述的测试步骤不仅对我有帮助)

具有上述代码示例的示例文件是共享的(有意注释了许多行):https : //www.dropbox.com/s/9bwu6pn8fcogby7/NoWarningsOpen.xlsm

原始答案(经过Excel 2007测试,带有某些选项):

这段代码对我来说效果很好-遍历使用通配符指定的所有Excel文件InputFolder:

Sub WorkbookOpening2007() Dim InputFolder As String Dim LoopFileNameExt As String InputFolder = "D:\DOCUMENTS\" 'Trailing "\" is required! LoopFileNameExt = Dir(InputFolder & "*.xls?") Do While LoopFileNameExt "" Application.DisplayAlerts = False Application.Workbooks.Open (InputFolder & LoopFileNameExt) Application.DisplayAlerts = True LoopFileNameExt = Dir Loop End Sub

我尝试使用没有外部链接的书进行尝试-没有警告。

样本文件:https : //www.dropbox.com/s/9bwu6pn8fcogby7/NoWarningsOpen.xlsm



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3