单独看标题,肯定很多的小伙伴并不知道要表达的是什么,没关系,我们放张图
这张图是不是很熟悉,在日常的工作中,我们是会经常碰到这样的提示的,尤其是从共享打开工作薄
或者是当你的工作簿中含有很多的链接,或者公式的时候,当你打开你的工作薄的时候,他就会有这样的提示
这个提示,他并不是简单的提示,大家留意到他还有很多的按钮,它是需要你操作的提示
如果不操作,他就会一直停留在这里
延伸下,当我们写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
其他的几个方法,大家可以根据自己的需要,去灵活选择。
我们今天的案例中呢,就选择一种方法,和对应的参数的写法
那么那些还在头疼这个弹窗的小伙伴们,你们现在知道如何解决问题了嘛?
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有