Microsoft技术社区联盟成员,全球领先的Excel2003/2007/2010门户,Office培训学习的最佳社区
设为首页收藏本站|繁體中文 切换到窄版

Excel Home论坛

 找回密码
 免费注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

魔方网表,Excel终结者,永久免费 Excel服务器2010软件和教程下载 经典巨著,Excel 2010全能尽出
Excel不给力? 何不试试FoxTable! 2012年Excel免费培训班2-6月开课计划 新人必读:ExcelHome最佳学习方法 免费下载Excel行业应用视频教程
精粹:成为Excel高手的捷径 免费下载39集新Excel精粹视频教程 免费学习Excel数据透视表视频教程 入门必看《循序渐进学Excel》视频
Excel辅助工具的巅峰之作--Kutools 免费学习Excel 2007精粹视频教程 Office Tab,Office界面的革命性创新 搞不定老板要的报表?我们来帮您
ldy
  • 6400财富
  • 11鲜花
  • 85技术
  • 积分排行
    104
    帖子
    1405
    精华
    6
    分享
    0

    优秀管理者 Excel Home竞赛活动奖章

    [转帖] 推荐 未公开的API 定时MsgBox ---MessageBoxTimeout [复制链接]

    逛CSDN看到的,非常好用

    1. Private Declare 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
    2. Private Sub 定时关闭MSGBox1()
    3.     x = MessageBoxTimeout(0, "Hello World", "两秒后自动关闭", 68, 1, 2000)
    4. Debug.Print x
    5. End Sub
    6. Private Sub 定时关闭MSGBox2()
    7.   x = MessageBoxTimeout(0, "Hello World", "两秒后自动关闭", 3, 1, 2000)
    8.   Debug.Print x
    9. End Sub
    10. Private Sub 定时关闭MSGBox3()
    11.    MessageBoxTimeout 0, "Hello World", "两秒后自动关闭", 0, 0, 2000
    12. End Sub
     
    本帖评分记录鲜花 收起 理由
    qczvba + 1 值得肯定
    jiulongpo + 1
     
    资深。。。。。。。。。。。。。。。。。。。初学者
  • 1901财富
  • 0鲜花
  • 0技术
    • 等级 4EH高级
    积分排行
    598
    帖子
    894
    精华
    0
    分享
    0
    发表于 2010-6-24 01:08:28 |显示全部楼层
    谢谢刘版提供分享!
  • 704财富
  • 0鲜花
  • 0技术
    • 等级 2EH初级
    积分排行
    3000+
    帖子
    131
    精华
    0
    分享
    0
    发表于 2010-6-24 01:15:34 |显示全部楼层
    学习... __
  • 11752财富
  • 6鲜花
  • 6技术
  • 积分排行
    128
    帖子
    4593
    精华
    1
    分享
    0
    发表于 2010-6-24 01:21:04 |显示全部楼层
    呵呵,多谢分享,VBA也可调用这种方法:

    Public Sub 定时关闭对话()
        Dim x As Object
        Set x = CreateObject("Wscript.Shell")
        x.popup "录入完毕!", 1, "提示", 64
        Set x = Nothing
    End Sub

    这个里面“1”就是秒数,在到达这个时间后自动关闭。
  • 704财富
  • 0鲜花
  • 0技术
    • 等级 2EH初级
    积分排行
    3000+
    帖子
    131
    精华
    0
    分享
    0
    发表于 2010-6-24 01:26:42 |显示全部楼层
    额, 楼上的方法..
    咱试了,  为撒不行?/?     和人品有关?
  • 704财富
  • 0鲜花
  • 0技术
    • 等级 2EH初级
    积分排行
    3000+
    帖子
    131
    精华
    0
    分享
    0
    发表于 2010-6-24 01:27:52 |显示全部楼层
    噢,   又可以了..   谢谢两位版主

    会不会是CPU太差了!! 汗

    [ 本帖最后由 中国人. 于 2010-6-24 01:28 编辑 ]
  • 1367财富
  • 0鲜花
  • 0技术
    • 等级 3EH中级
    积分排行
    1059
    帖子
    464
    精华
    0
    分享
    0
    发表于 2010-6-24 09:11:17 |显示全部楼层
    不是人品问题,是Wscript.Shell不怎么好使,反正我用这个是没试成功过,楼主所介绍的API不错,学习了,谢谢分享。
    有个小问题,就是在显示MSGBOX上的按钮用数字的话比较难记忆,用文字的话会比较容易记住(vbOkOnly,vbYes等等),经测试用文字也是一样可以达到效果。

    [ 本帖最后由 chentx 于 2010-6-24 09:15 编辑 ]
  • 7459财富
  • 1鲜花
  • 0技术
    • 等级 5EH铁杆
    积分排行
    299
    帖子
    2338
    精华
    0
    分享
    0
    发表于 2010-6-24 09:49:16 |显示全部楼层
    有所收获,非常感谢..API果然够强大.
  • 32030财富
  • 15鲜花
  • 24技术
  • 积分排行
    52
    帖子
    7147
    精华
    0
    分享
    0

    最佳管理者 优秀管理者 金牌管理者

    发表于 2010-6-24 10:13:31 |显示全部楼层
    谢谢两位版主! 两种方法都学习了。 不过API还是没明白
  • 32030财富
  • 15鲜花
  • 24技术
  • 积分排行
    52
    帖子
    7147
    精华
    0
    分享
    0

    最佳管理者 优秀管理者 金牌管理者

    发表于 2010-6-24 10:16:27 |显示全部楼层
    原帖由 daley 于 2010-6-24 01:21 发表
    呵呵,多谢分享,VBA也可调用这种方法:

    Public Sub 定时关闭对话()
        Dim x As Object
        Set x = CreateObject("Wscript.Shell")
        x.popup "录入完毕!", 1, "提示", 64
        Set x = Nothing
    End Sub ...

    请教daley:  把1改成0.5后, 窗口怎么就不会自动关闭? 而把1改成1.5后, 窗口就会自动关闭。
    Office 2007    Excel 2003
    WinXP
    → → → → → → → → → → →
    业精于勤荒于嬉 行成于思毁于随

    发表回复

    您需要登录后才可以回帖 登录 | 免费注册

    发帖时请遵守我国法律,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任。
    回顶部