VBA 调用 WshShell.popup 弹窗 到达时间 不关闭
时间: 2024-02-15 16:02:46 浏览: 218
114-1 使用WshShell.Popup方法关闭消息框.xlsm
您可以使用WshShell.Popup方法来显示一个弹窗,但是默认情况下,弹窗会在一定时间后自动关闭。如果您想让弹窗一直保持显示,可以在调用Popup方法时指定一个非零的超时时间,并在超时时间到达时指定一个非零的按钮ID,这样弹窗就不会自动关闭了。
下面是一个示例代码:
```VBA
Sub ShowPopup()
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
' 显示弹窗,超时时间为1000秒,按钮ID为1
WshShell.Popup "到达时间!", 1000, "提示", 0 + 64
' 无限循环,直到用户按下按钮
Do While True
If WshShell.AppActivate("提示") Then
' 检查弹窗是否仍在前台
Exit Do
End If
Loop
End Sub
```
在上面的代码中,我们将超时时间设置为1000秒,按钮ID设置为1,这意味着弹窗不会自动关闭,并且用户必须按下按钮才能关闭弹窗。然后我们使用一个无限循环来等待用户按下按钮,直到弹窗被关闭为止。
请注意,如果用户不按下按钮,弹窗将一直保持显示,这可能会影响用户体验。因此,在实际使用中,您可能需要考虑其他方式来关闭弹窗,例如在用户按下按钮之前自动关闭弹窗。
阅读全文