在这种情况下,使用wscript.shell制作的MsgBox不会自动关闭

时间:2011-07-08 08:52:37

标签: forms ms-access vba

我正在ms-access中写一个.mdb文件,里面有一个表单。

我做了一个子程序来显示一个msgbox,它会在几秒后自动关闭。

Sub TimedMsgBox(Message As String)

CreateObject("wscript.shell").PopUp _
        Message & vbCrLf & vbCrLf & _
        "This message self-closes in 2 seconds...", 2, "Message"

End Sub

当msgbox弹出时,我等待并自动关闭,但是,如果我将焦点更改为其他应用程序(如firefox),则消息将等待我的注意并且在所选秒后没有关闭。(即:它不计算秒数。)当我将焦点更改回它时,它将计算秒数然后退出。

无论我在做什么,我怎能让它在几秒钟后自动消失?

1 个答案:

答案 0 :(得分:3)

如果可能,我的建议是创建一个表单而不是msgbox。然后,您可以使用表单上的On Timer事件在一段时间后自动关闭。

在我的数据库中,我有一个由用户加载的mainform,但是当该窗体打开时,我还打开一个隐藏的'ExitForm'。此退出表单具有计时器事件,该事件在特定时间关闭数据库。

您可以做类似的事情。