Vba 在宏开始运行前3秒显示Msgbox,并在3秒内自动关闭该Msgbox

Vba 在宏开始运行前3秒显示Msgbox,并在3秒内自动关闭该Msgbox,vba,Vba,我有以下宏作为基于时间的运行 Application.OnTime TimeValue("12:2:20"), "ADPATEL" 我想要的是在3秒内弹出消息框,并在3秒内自动关闭它 已尝试以下方法,但未自动关闭msgbox Dim AckTime As Integer, InfoBox As Object Set InfoBox = CreateObject("WScript.Shell") AckTime = 3 S

我有以下宏作为基于时间的运行

Application.OnTime TimeValue("12:2:20"), "ADPATEL"
我想要的是在3秒内弹出消息框,并在3秒内自动关闭它

已尝试以下方法,但未自动关闭msgbox

   Dim AckTime As Integer, InfoBox As Object

 Set InfoBox = CreateObject("WScript.Shell")
 AckTime = 3
 Select Case InfoBox.Popup("Click OK or do nothing within 3 seconds.", _
 AckTime, "This is your Message Box", 0)

 Case 1, -1
 Exit Sub
End Select
欢迎提供任何帮助

请尝试以下代码:

Sub testPopUpMess()
 Select Case CreateObject("wscript.shell").popup("Click OK or do nothing within 3 seconds.", _
                                                            3, "This is your Message Box", 64)
     Case 1: MsgBox "OK": Exit Sub
     Case Else: MsgBox """OK"" button not pressed..."
 End Select
End Sub
无论如何,您的代码应该按原样工作。。。我只在按下“OK”或自行关闭时避免声明变量并拆分消息

你使用Excel2007吗?我听说它的行为很奇怪。如果是这种情况,您应该使用一种使用API调用的稍微复杂一点的方法。我可以帮你写一段代码。看起来蒂姆·威廉姆斯提出了这样一个解决方案