Excel VBA 弹出选择框并自动关闭 - 2 秒超时
在 Excel VBA 中,可以使用 MsgBox 函数来弹出选择框,并使用 Application.Wait 方法来等待一段时间后自动关闭选择框。
下面是一个示例代码:
Sub AutoCloseMessageBox()
Dim result As VbMsgBoxResult
Dim timeout As Date
' 弹出选择框
result = MsgBox('是否关闭选择框?', vbYesNo)
' 获取当前时间
timeout = Now + TimeValue('00:00:02') ' 延时2秒
' 等待2秒,或者直到用户选择了一个选项
Do While Now < timeout And result = 0
DoEvents ' 允许其他事件处理
result = MsgBox('是否关闭选择框?', vbYesNo)
Loop
' 如果用户没有选择,则自动关闭选择框
If result = 0 Then
MsgBox '自动关闭选择框'
End If
End Sub
在这个示例中,首先使用 MsgBox 函数弹出选择框,然后使用一个 Do While 循环来等待用户选择或者等待 2 秒的时间。在循环中,使用 DoEvents 函数来允许其他事件处理,以免 VBA 进入无响应状态。如果用户在 2 秒内没有选择任何选项,那么 result 变量的值将为 0,即表示没有选择。在最后的条件判断中,如果 result 为 0,则表示用户没有选择,弹出一个提示框来自动关闭选择框。
原文地址: https://www.cveoy.top/t/topic/jrsT 著作权归作者所有。请勿转载和采集!