【发布时间】:2019-05-31 19:02:52
【问题描述】:
我有一个 Excel 文件,它可以使用 Windows 调度程序自动打开。我还有一个Auto_Open 子可以立即运行宏。为了避免每次打开它都开始运行而没有机会修改它,我设置了一个msgbox,让我选择宏是否运行。但是,我希望 Excel 在 10 秒后自动选择“是”,但我无法得到它。这是我的代码:
我尝试过不使用变量直接放置秒数,我也尝试过单独使用Case -1,但没有任何效果。
Sub Auto_Open()
Set WSH = CreateObject("WScript.Shell")
'cTime = 10
BtnCode = WSH.Popup("¿Desea generar la consulta de vacaciones?", cTime, "Consulta", vbYesNo)
Select Case BtnCode
Case vbYes
Call consulta
Case vbNo
Case 1, -1
Call consulta
End Select
End Sub
【问题讨论】:
-
你可以使用这样的东西。
Application.Wait Now + #0:00:01# or (for Excel 2010 and later): Application.Wait Now + #12:00:01 AM# -
但是我怎么做呢,在弹出窗口显示之后,它停止等待答案并开始等待这条指令?因为它就像在我选择某些东西之前停止,这就是我使用 WSH.Popup 的原因,因为它可以选择设置在它继续之前要等待多少秒。
-
我认为以下答案更符合您的需求。你是对的,弹出窗口将停止执行 vba,直到按下按钮。