Excel VBA 每日一场景 打开工作簿时禁用更新链接
Excel VBA 每日一场景 打开工作簿时禁用更新链接
点击上方“Excel和VBA”,选择“置顶公众号”
致力于原创分享Excel的相关知识,源码,源文件打包提供
一起学习,一起进步~~
单独看标题,肯定很多的小伙伴并不知道要表达的是什么,没关系,我们放张图
这张图是不是很熟悉,在日常的工作中,我们是会经常碰到这样的提示的,尤其是从共享打开工作薄
或者是当你的工作簿中含有很多的链接,或者公式的时候,当你打开你的工作薄的时候,他就会有这样的提示
这个提示,他并不是简单的提示,大家留意到他还有很多的按钮,它是需要你操作的提示
如果不操作,他就会一直停留在这里
延伸下,当我们写VBA代码的时候,如果我们通过workbook的open方法,打开一个工作薄
但是刚刚他又有这个弹窗,而这个时候我们已经离开座位去打水了,准备打过水回来,程序应该运行完了。
结果,回来发现,就是因为这个弹窗,导致我们的程序一直停留在这里,是不是非常的恼火。
所以在这个时候,我们应该想办法去消灭这个弹窗,但是这个弹窗是Excel自带的提醒弹窗,我们怎么消灭呢?
可能会有一些小伙伴,学习VBA很深入,知道在VBA中有一个阻止弹窗的方法
Application.DisplayAlerts
那么这个阻止弹窗的方法是否有效呢?
我们来验证下
Sub ssws()
Dim wb As Workbook
s = "实际的文件路径"
Application.DisplayAlerts = False
Set wb = Workbooks.Open(s)
Application.DisplayAlerts = True
End Sub
我们可以看到,虽然我这里设置了阻止弹窗,但是很遗憾,弹窗还是出来了。
为什么会这样呢?
因为 Application.DisplayAlerts虽然能够阻止弹窗,但是他阻止的是常规的提醒弹窗
并不能阻止这个工作簿级别的弹窗,所以在这样的情况下,我们就需要另外找一个方法了。
那么怎么办呢?
我们都知道,这个让我们选择是否更新链接的弹窗,都是出现在当我们打开工作薄的时候,那么我们是否可以在打开这个动作中,做些设置?
比方说我直接设置在打开的时候,链接?或者再打开的时候不连接?
有没有办法实现呢?
那么让我们回到打开工作薄的open方法中来
其实我们可以看到,Workbooks.Open方法其实有很多的参数,但是我们常用的,只有第一个参数而已,即打开工作薄的路径,后面的那么多参数,我们都没有使用,那么其中是否会有一个参数是针对这个问题的呢?
留意看第二个 UpdateLinks,从字面意思就能够看出来,他代表的就是更新链接的,那么他又有几个参数呢?
那么有了对应的参数,又有了对应参数的变量所代表的不同含义,那么我们就可以直接开工了。
我们现在不希望出现这个弹窗,那我直接简单点,不更新链接,试下
Sub sss()
Dim wb As Workbook
s = "实际的文件路径"
Set wb = Workbooks.Open(s, UpdateLinks:=0)
End Sub
其他的几个方法,大家可以根据自己的需要,去灵活选择。
我们今天的案例中呢,就选择一种方法,和对应的参数的写法
那么那些还在头疼这个弹窗的小伙伴们,你们现在知道如何解决问题了嘛?
好了,明晚21:00,准时再见!
因为公众号没有留言功能(开的比较晚),所以建立一个线下微信群,主要为大家提供一个交流的平台,同时大家也可以提一些对公众号的意见和看法,大家一起学习,一起进步。