VBA代码大全023:用vba做一个自动定时关闭的msgbox对话框 您所在的位置:网站首页 vba确定取消对话框 VBA代码大全023:用vba做一个自动定时关闭的msgbox对话框

VBA代码大全023:用vba做一个自动定时关闭的msgbox对话框

2023-11-20 14:27| 来源: 网络整理| 查看: 265

VBA代码大全023:用vba做一个自动定时关闭的msgbox对话框 2021年2月1日 作者:水星Excel 6,848 次浏览 暂无评论

vba有点基础的应该都知道,要在vba中创建弹窗对话框,可以使用msgbox。

 

但是msgbox必须人为关闭它,如果想要创建一个弹窗对话框,然后过一段时间自动关闭,网上有分享说可以借助WshShell的Popup方法。

代码如下:

 

Sub 定时关闭的对话框() sPath = Excel.ThisWorkbook.Path & "\" Set obj = VBA.CreateObject("Wscript.Shell") obj.popup "这是一个自动关闭的对话框", 0.2, "有趣的对话框" End Sub

 

其中popup方法的语法是这样的:

intButton = object.Popup(strText,[nSecondsToWait],[strTitle],[nType])

第一个参数strText是对话框中显示的文本内容,第二个参数nSecondsToWait是要等待的秒数,也就是几秒后关闭,第三个参数strTitle是对话框的标题文本,第4个参数nType是对话框的按钮类型。

 

但是这个代码我测试了下没有效果。

 

这里介绍另外一种方法,使用api函数MessageBoxTimeout。

这个函数已经是被微软隐藏起来了,但是还可以使用。

代码如下:

 

Declare PtrSafe Function MessageBoxTimeout Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long, ByVal wlange As Long, ByVal dwTimeout As Long) As Long Sub 定时关闭的对话框() MessageBoxTimeout 0, "两秒后自动关闭", "测试", 68, 1, 2000 End Sub

 

其中最后一个参数 dwTimeout 表示要设置的时间,以毫秒为单位。

2000毫秒就表示2秒后关闭。

其它相关文章推荐:VBA代码大全021:如何用vba打开各种格式的文件?如何用vba打开pdf文件?如何在vba中枚举本地电脑上安装的所有文件的后缀名?VBA代码大全016:如何用vba执行DOS命令?如何在excel中用vba把所有图形对象导出为图片格式的文件?如何在excel中用vba把图表导出为图片格式的文件? 分类 :  VBA , VBA代码大全 标签 :  MessageBoxTimeout , msgbox , Popup , 自动关闭的对话框 , 自动定时关闭的对话框        

声明: 本站文章均属原创,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则视为侵权。如果想要每天都收到本站的技术文章推送,可以微信搜索公众号:水星Excel或者Excel_Office关注。其它事宜请加QQ:1722187970 或微信号:xycgenius 联系。 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有