ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > Excel VBA > 如何使弹出消息如没有选择则定时关闭?

如何使弹出消息如没有选择则定时关闭?

作者:绿色风 分类: 时间:2022-08-17 浏览:157
楼主
willin2000
Q:如何使弹出消息如没有选择则定时关闭?
A:使用如下代码:
  1. Sub Workbook_Open()
  2. ReturnN = CreateObject("WScript.Shell").Popup([b2], 5, "Microsoft", 1)
  3. End Sub
语法
WshShell.Popup(strText, [natSecondsToWait], [strTitle], [natType]) = intButton
注释
若提供 natSecondsToWait 且其值大于零,则消息框在 natSecondsToWait 秒后关闭。
natType 的含义与其在 Win32? MessageBox 函数中相同。下表显示 natType 中的值及含义。下表中的值可以组合。
按钮类型
值 说明
0 显示“确定”按钮
1 显示“确定”和“取消”按钮
2 显示“终止”、“重试”和“忽略”按钮
3 显示“是”、“否”和“取消”按钮
4 显示“是”和“否”按钮
5 显示“重试”和“取消”按钮
图标类型
值 说明
16 显示停止标记图标
32 显示问号图标
48 显示感叹号图标
64 显示信息标记图标
以上两个表并不涵盖 natType 的所有值。完整的列表请参阅 Win32 文档。
返回值 intButton 指示用户所单击的按扭编号。若用户在 natSecondsToWait 秒之前不单击按扭,则 intButton 设置为 -1 。
值 说明
1 “确定”按扭
2 “取消”按扭
3 “终止”按扭
4 “重试”按扭
5 “忽略”按扭
6 “是”按扭
7 “否”按扭
2楼
gvntw
呵呵,这个2003可以,2007好像不行吧,以前试过了,刚才再试一次还是不行。
3楼
chrisfang
Q:如何可以让弹出的消息框自动关闭?
A:在VBA程序开发中,经常会用到Msgbox方法来弹出消息框,通常都需要用户点击消息框上的“确定”按钮以继续后续的程序运行。如果希望不需要用户干预,自动定时关闭消息框,可以使用WScript.Shell对象中的Popup方法来创建消息框,代码如下:

  1. CreateObject("WScript.Shell").Popup "消息内容", 1
Popup语法如下:
WshShell.Popup(strText, [natSecondsToWait], [strTitle], [natType])

Popup方法显示一个弹出式消息框窗口,消息框中包含的消息由【strText】指定。该消息框的窗口标题由【strTitle】指定。若【strTitle】省略,则窗口标题为“Windows Scripting Host”。
【natSecondsToWait】参数表示消息框在等待若干秒后关闭,上述代码中此参数为1,表示此消息框在1秒钟后自动关闭。
【natType】参数包含了消息框的按钮样式、默认按钮等设置信息,与Msgbox中的buttons参数含义相同。

此方法适用于2003版本中。

有关使用Msgbox弹出消息框的方法可参考:http://www.exceltip.net/thread-6453-1-1.html
4楼
罗刚君
此方案在Excel 2003比较好用,在新版本没效果
利用API实现更具通用性。当然使用窗体也可以,主要是配合ONTIME来完成
5楼
kevinchengcw
都是高手啊,赞一个
6楼
aob
都是高手啊,赞一个
7楼
icenotcool

8楼
水星钓鱼
可惜了,后续的版本没有这个功能了。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap