前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel实战技巧71: 自动响应消息框信息

Excel实战技巧71: 自动响应消息框信息

作者头像
fanjy
发布2019-12-30 14:47:51
4600
发布2019-12-30 14:47:51
举报
文章被收录于专栏:完美Excel完美Excel

下面是在vbaexpress.com论坛上看到的一个很有意思的例子。

在示例工作簿中的代码如下:

代码语言:javascript
复制
Public Declare Function SetTimer& Lib "user32" (ByValhwnd&, _
    ByVal nIDEvent&,ByVal uElapse&, ByVal lpTimerFunc&)
Private Declare Function KillTimer& Lib "user32"(ByVal hwnd&, _
    ByVal nIDEvent&)
Public Const NV_INPUTBOX As Long = &H5000
 
Public Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByValidEvent As Long, ByVal dwTime As Long)
    SendKeys "%Y"
    KillTimer hwnd, idEvent
End Sub
 
Sub test()
    With Application
        .Calculation =xlCalculationManual
        .ScreenUpdating =False
    End With
 
    Dim targetworkbook AsWorkbook
 
    Dim usersave As VbMsgBoxResult
 
    Set targetworkbook =Workbooks.Open("C:\test.xlsm", UpdateLinks:=0)
 
    Calculate
    targetworkbook.Activate
    SetTimer 0, NV_INPUTBOX,1000, AddressOf TimerProc
    Application.Runtargetworkbook.Name & "!tester"
 
    targetworkbook.Activate
 
    With Application
        .Calculation =xlCalculationAutomatic
        .ScreenUpdating =True
    End With
 
End Sub

运行test过程,将打开C盘中名为test.xlsm的工作簿,并弹出如下图1所示的消息框。

图1

如果你在5秒内没有响应消息框,也就是说,没有单击“确定”按钮或者“取消”按钮,那么在5秒后会关闭该消息框并弹出“超时”消息框,如下图2所示。

图2

在工作簿test.xlsm中的代码如下:

代码语言:javascript
复制
Sub tester()
    TimedMsgBox
End Sub
 
Sub TimedMsgBox()
    Dim cTime As Long
    Dim WSH As Object
 
    Set WSH =CreateObject("WScript.Shell")
    cTime = 5 '5 秒
    Select CaseWSH.Popup("打开Excel文件?!", cTime, "询问", vbOKCancel)
        Case vbOK
            MsgBox "你单击了确定"
        Case vbCancel
            MsgBox "你单击了取消"
        Case -1
            MsgBox "超时"
    End Select
End Sub

很有意思!有兴趣的话,可以试试。

欢迎分享本文,转载请注明出处。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档