Macro VBA para cerrar ventanas de Outlook sin mostrar ventana de guardar mensaje

Necesito una macro que cierra todas las ventanas abiertas de Outlook, sin mostrar la ventana para guardar guardar cambios.

El siguiente código cierra todas las ventanas pero muestra el aviso.

Sub Cerrar_Outlook()

Application.DisplayAlerts = False

Dim OL As Object
' On Error Resume Next
Set OL = GetObject(, "Outlook.Application")
On Error GoTo 0
If OL Is Nothing Then
'MsgBox "Outlook is not running!"
Else
OL.Quit
End If
Application.DisplayAlerts = True
End Sub
Respuesta
1

Podemos enviar un enter en el código para cerrar la ventana, prueba con lo siguiente:

Sub Cerrar_Outlook()
Application.DisplayAlerts = False
Dim OL As Object
' On Error Resume Next
Set OL = GetObject(, "Outlook.Application")
On Error GoTo 0
If OL Is Nothing Then
'MsgBox "Outlook is not running!"
Else
    OL.Quit
    SendKeys "{ENTER}", True
End If
Application.DisplayAlerts = True
End Sub

Hola Dante. No me funcionó.

El efecto de enviarle el "ENTER", es que hace un "ENTER" en el código, es decir, baja la línea de código de Visual Basic , no en la ventana de Outlook, que por defecto, aparece en "Si".  Habría que dar antes un "TAB" y luego ese posible "ENTER".

¿Qué otra alternativa se te ocurre?

Pero tienes que ejecutar el código con F5, si estás ejecutando el código en forma de Debug con F8, el Enter se envía a la pantalla que está abierta, en este caso en la pantalla de VBA.

Yo lo probé y funciona. Me cierra todo el outlook

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas