Excel VBA工作薄 6.5到时会自动消失的提示窗口 不影响程序执行

前景提要()

在我们的印象中,不管是excel自带的弹窗,还是我们自己通过代码写出来的弹窗都是需要操作才会消失的

比方说这样的,你不点击按钮,这个弹窗会一直存在

而在我们自己写的VBA代码中,弹窗都是附带着返回值的,如果不做出选择,弹窗就会一直存在,同时我们的程序也会一致卡在哪里

比方说我们之前做的这个运算的弹窗

但是有时候,我们仅仅是希望弹窗弹出来一下,告知我们当前程序运行得状态就好,然后会自动消失,并不需要做出任何选择,程序也会在弹窗消失之后自动运行,这样的弹窗可以实现吗?

场景模拟

假设我们当前的代码正在进行一个比较复杂的运算,并且关闭了屏幕刷新,对于使用者来说,当电脑屏幕上看,并不知道程序运行到那个步骤了,如果耐心不好的,可能会因为电脑死机或者程序坏了,这个时候我们就需要一个弹窗告诉使用者程序已经运行到哪里了,并且仅仅是弹窗,并不需要使用者做任何得操作,是不是更加得人性化呢,来上代码

代码区

Sub msg()Dim WshShell As ObjectSet WshShell = CreateObject("Wscript.Shell")WshShell.popup "脚本当前正在进行计算,请耐心等待!", 2, "提示", 64Set WshShell = NothingMsgBox "我是第二个弹窗,你要点我我才会操作!"MsgBox "我是第三个弹窗,你点击了第二个我才会出现的!"End Sub

来看看效果

当脚本运行的时候,会有这样的一个弹窗出现,告知使用者程序的进度,使用者可以不做任何操作,我们设置弹窗2秒之后自动消失

这是第二个弹窗,这个弹窗和我们之前接触到得弹窗一样,当出现这样得弹窗得时候,程序后台就也暂停执行,等待你点击的返回结果,在执行相应的操作,如果这个时候你正好离开座位,不好意思,这个弹窗会一致存在,程序也一直卡在这个地方

只有当你点击了确定之后,这个弹窗后面的代码,也就是第三个弹窗才会出现

代码分析

Set WshShell = CreateObject("Wscript.Shell")WshShell.popup "脚本当前正在进行计算,请耐心等待!", 2, "提示", 64

今天的代码关键点,就在这里,这个就是实现窗口弹窗之后,会到时候消失的代码,

其实代码也没有什么难点,大家记下来直接套用即可

消失的时候,就是第二参数,想要多少秒消失,大家可以根据自己的需要来灵活设定~~

如何你觉得我的内容对你有帮助,那就加个关注吧~~

(0)

相关推荐