La idea es mostrar un mensaje de error, aviso, etc evitando el MsgBox y tener que pulsar Aceptar, agilizando el proceso.
Para el ejemplo se necesita crear un Formulario con dos Command, un Timer con el nombre msgTimer y un Label con el nombre msgLabel, por supuesto la posición, colores y tamaño del label a gusto del usuario.
Código vb:
Ver original
Option Explicit Private Sub Command1_Click() msgLabel = "Mensaje de prueba en el Command Uno" End Sub Private Sub Command2_Click() msgLabel = "Mensaje de prueba en el Command Dos" End Sub Private Sub Form_Load() ' En la carga del formulario, ajustamos los valores y deshabilitamos el Timer msgTimer.Enabled = False ' Timer detenido msgTimer.Interval = 5000 ' Pausa 5 segundos msgLabel.Caption = "" ' Mensaje Borrado msgLabel.Visible = False ' Mensaje Oculto End Sub Private Sub msgLabel_Change() If msgLabel.Caption = "" Then ' Mensaje en blanco, detener temporizador, ocultar mensaje msgTimer.Enabled = False msgLabel.Visible = False Else ' Mensaje con datos, activar temporizador, mostrar mensaje msgTimer.Enabled = False 'Primero desactivamos para detenerlo msgTimer.Enabled = True msgLabel.Visible = True End If End Sub Private Sub msgTimer_Timer() ' Llegado al tiempo, borramos mensaje msgLabel.Caption = "" End Sub
Espero que a alguien le sea de utilidad.
Saludos