Excel VBA 每日一场景 打开工作簿时禁用更新链接

Excel VBA 每日一场景 打开工作簿时禁用更新链接
2021年05月08日 10:00 晓雯子16

单独看标题,肯定很多的小伙伴并不知道要表达的是什么,没关系,我们放张图

这张图是不是很熟悉,在日常的工作中,我们是会经常碰到这样的提示的,尤其是从共享打开工作薄

或者是当你的工作簿中含有很多的链接,或者公式的时候,当你打开你的工作薄的时候,他就会有这样的提示

这个提示,他并不是简单的提示,大家留意到他还有很多的按钮,它是需要你操作的提示

如果不操作,他就会一直停留在这里

延伸下,当我们写VBA代码的时候,如果我们通过workbook的open方法,打开一个工作薄

但是刚刚他又有这个弹窗,而这个时候我们已经离开座位去打水了,准备打过水回来,程序应该运行完了。

结果,回来发现,就是因为这个弹窗,导致我们的程序一直停留在这里,是不是非常的恼火。

所以在这个时候,我们应该想办法去消灭这个弹窗,但是这个弹窗是Excel自带的提醒弹窗,我们怎么消灭呢?

可能会有一些小伙伴,学习VBA很深入,知道在VBA中有一个阻止弹窗的方法

Application.DisplayAlerts

那么这个阻止弹窗的方法是否有效呢?

我们来验证下

Sub ssws()Dim wb As Workbook s = "实际的文件路径"Application.DisplayAlerts = FalseSet wb = Workbooks.Open(s)Application.DisplayAlerts = TrueEnd Sub

我们可以看到,虽然我这里设置了阻止弹窗,但是很遗憾,弹窗还是出来了。

为什么会这样呢?

因为Application.DisplayAlerts虽然能够阻止弹窗,但是他阻止的是常规的提醒弹窗

并不能阻止这个工作簿级别的弹窗,所以在这样的情况下,我们就需要另外找一个方法了。

那么怎么办呢?

我们都知道,这个让我们选择是否更新链接的弹窗,都是出现在当我们打开工作薄的时候,那么我们是否可以在打开这个动作中,做些设置?

比方说我直接设置在打开的时候,链接?或者再打开的时候不连接?

有没有办法实现呢?

那么让我们回到打开工作薄的open方法中来

其实我们可以看到,Workbooks.Open方法其实有很多的参数,但是我们常用的,只有第一个参数而已,即打开工作薄的路径,后面的那么多参数,我们都没有使用,那么其中是否会有一个参数是针对这个问题的呢?

留意看第二个UpdateLinks,从字面意思就能够看出来,他代表的就是更新链接的,那么他又有几个参数呢?

那么有了对应的参数,又有了对应参数的变量所代表的不同含义,那么我们就可以直接开工了。

我们现在不希望出现这个弹窗,那我直接简单点,不更新链接,试下

Sub sss()Dim wb As Workbooks = "实际的文件路径"Set wb = Workbooks.Open(s, UpdateLinks:=0)End Sub

其他的几个方法,大家可以根据自己的需要,去灵活选择。

我们今天的案例中呢,就选择一种方法,和对应的参数的写法

那么那些还在头疼这个弹窗的小伙伴们,你们现在知道如何解决问题了嘛?

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部