Fechar MsgBox Automaticamente

Existe alguma opção de fechar uma messagebox ativo via algum outro evento?
Exemplo: e efetuada a chamada do MsgBox no click de um botão, e após um determinado tempo eu feche essa janela.

Desde já meu muito obrigado!

Olá @RenatoMuga, para isso, utilize a seguinte solução:

  • Crie um tag contador no Viewer e configure da seguinte maneira:

    • AutoRestart: FALSE
    • Enabled: FALSE
    • Preset: 5
  • No evento OnPreset do tag contador faça o seguinte script:

    Set a=createobject(“wscript.shell”)
    a.SendKeys “{ESC}”
    Enabled = FALSE

  • No script para abrir o message box você terá que habilitar o tag contador antes de abrir o MsgBox. Exemplo:

    Sub CommandButton1_Click()
    Application.Item(“ContaMsgBox”).Enabled = true
    MsgBox “mensagem”, ,“titulo”
    End Sub

Atenciosamente,
Lucas Angelo

1 Like
Sub btn_Click()
	CustomMsgBox "Ola, mundo", 1, "Titulo"
End Sub

' @Prompt 	{string} 	mensagem
' @Timeout 	{integer}	tempo em segundos
' @Title	{string}	texto barra titulo
Sub CustomMsgBox(ByVal Prompt, ByVal Timeout, ByVal Title)
	CreateObject("WScript.Shell").Run _
			"mshta.exe vbscript:close(CreateObject(""WScript.shell"").Popup(""" & _
			Prompt & """," & Timeout & ",""" & Title & """))"	
End Sub
2 Likes

Obrigado pela resposta Lucas.

Att,
Renato Muga

Obrigado pela resposta Leandro.

Att,
Renato Muga

Serve também para o LibreOffice,

Resolveu dúvida desde 16/01/2019
https://ask.libreoffice.org/pt-br/question/179628/fechar-msgbox/

1 Like