Dejar abierto outlook al neviar un email por VBA

Uso un código para abrir y enviar un correo a través de un archivo Excel, el problema que tengo es al enviarse el correo se cierra el outlook demasiado deprisa impediendo enviar el correo hasta que se vuelve abrir el outlook. Lo que pretendo es no se cierre el outlook o que se cierre al cabo de 5 segundos para que le dé tiempo de enviarse el correo.

Adjunto el código que uso actualmente:

Application.ScreenUpdating = False
Application.DisplayAlerts = False
des = Range("A1")
Set h2 = ThisWorkbook
wpath = ThisWorkbook.Path & "\"
Nombre = h2.Name
Sheets("hoja").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=wpath & Nombre & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Set dam1 = CreateObject("outlook.application")
Set dam2 = dam1.createitem(olmailitem)
dam2.to = ""
dam2.cc = ""
dam2.Attachments.Add wpath & Nombre & ".pdf"
dam2.display
DoEvents
Kill wpath & Nombre & ".pdf"
DoEvents

Set OutMail = Nothing
Set OutApp = Nothing

Application. Quit

1 Respuesta

Respuesta
1

Cambia esta línea

Dam2. Display

por esta

Dam2. Send

El correo se enviará en automático

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

Hola Dante, gracias por la respuesta pero lo que necesito es visualizar email antes de enviarlo y que el mensaje se envíe y no quede en el buzón de salida hasta que se vuelva abrir el outlook otra vez porque no le ha dado tiempo a enviarse. Había pensado volver abrir el outlook y dejarlo abierto unos segundos para que le dé tiempo y luego cerrarlo a través de una macro pero no sé hacerlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas