在提交响应后运行宏,否则计时器完成

时间:2016-02-29 07:31:17

标签: excel vba excel-vba

我再次使用新查询,我已经制作了宏并在Workbook.open上分配了它,现在我想稍微改变一下,我想提示包含Do You want to Stop Macro ?选项{{1}的消息BOX }和YES,如果我在10秒的工作簿打开时单击是,我想在不执行宏的情况下保持相同的excel;否则,如果我点击NO或10秒完成,则运行宏。

2 个答案:

答案 0 :(得分:0)

VBA有一个MsgBox功能,但是你不能让它像你想要的那样。

要获得具有超时功能的提示,可以使用WScript.Shell对象的Popup方法。您可以使用CreateObject调用创建Shell对象,并查看弹出方法的MSDN documentation以获取有关如何使用它的更多详细信息。

答案 1 :(得分:0)

@Dharmendra也许你可以试试这段代码:

Private Sub Workbook_Open()
    wbClose
End Sub

Sub wbClose()
    Dim time As Integer, prompt As String
    time = 10 'this is in seconds format
    prompt = "This Workbook will close in " & time & " seconds." & _
    vbLf & "Press OK if you want some changes to this Workbook."

    With CreateObject("WScript.Shell")
       Select Case .Popup(prompt, time, "Message", 0)
         Case 1
            Exit Sub
       End Select
    End With
   ThisWorkbook.Close True
End Sub

如果你愿意,可以做一些修改。谢谢!