Macro de envió de correos masivos con la firma de correo del Outlook

Tengo un Macro con el cual envió correos masivos desde excel a través de outlook, sin embargo, estoy tratando de que los correos salgan con la firma configurada en outlook pero no me ha sido posible, todo el proceso va normal hasta antes de ejecutar Body, en este punto me quita la firma que tengo del paso de Display, el macro es el siguiente:

Sub enviarMail()

Dim App As Object
Dim Mail As Object
Dim Correo As Workbook
Dim Base As Worksheet
Dim Ruta As String
Dim File As String
Dim Extension As String

For i = 5 To Range("A" & Rows.Count).End(xlUp).Row

Set App = CreateObject("Outlook.Application")
Set Mail = App.CreateItem(0)
Set Correo = Workbooks(ThisWorkbook.Name)
Set Base = Correo.Sheets("datos")

With Mail
.Display
.To = Base.Range("A" & i).Value
.CC = Range("L" & i).Value
.Subject = Base.Range("B" & i).Value
.Body = Base.Range("C" & i).Value
.Attachments.Add (Base.Range("D" & i).Value)
.Send

End With

Next i

MsgBox "Envio realizado con éxito...", vbInformation, "Notificación"

End Sub

Agradecería si me pueden orientar para poder tener el correo con la firma.

2 Respuestas

Respuesta
1

Aquí está el código actualizado con la incorporación de la firma de Outlook:

Sub enviarMail()
    Dim App As Object
    Dim Mail As Object
    Dim Correo As Workbook
    Dim Base As Worksheet
    Dim Ruta As String
    Dim File As String
    Dim Extension As String
    For i = 5 To Range("A" & Rows.Count).End(xlUp).Row
        Set App = CreateObject("Outlook.Application")
        Set Mail = App.CreateItem(0)
        Set Correo = Workbooks(ThisWorkbook.Name)
        Set Base = Correo.Sheets("datos")
        With Mail
            .Display
            .To = Base.Range("A" & i).Value
            .CC = Range("L" & i).Value
            .Subject = Base.Range("B" & i).Value
            .HTMLBody = Base.Range("C" & i).Value & "<br><br>" & .HTMLBody
            .Attachments.Add (Base.Range("D" & i).Value)
            .Send
        End With
    Next i
    MsgBox "Envío realizado con éxito...", vbInformation, "Notificación"
End Sub

En este código, se agrega .HTMLBody = Base.Range("C" & i).Value & "<br><br>" & .HTMLBody antes de enviar el correo. Esto agrega el contenido del rango C en la hoja de cálculo "datos" al principio del cuerpo del correo, y luego agrega la firma de Outlook. La etiqueta <br><br> se utiliza para agregar un espacio en blanco entre el contenido del rango y la firma.

Buen día, Rafael

Espero se encuentre bien.

Muchísimas gracias por tu ayuda, funcionó a la perfeccción.

Un fuerte abrazo.

Buen día, 

Como debería hacer configurar el mensaje incluido  Base.Range("C" &amp; i), dado que me queda en párrafo en  un solo bloque y me gustaría darle espacios y un formato de letra determinado, por ejemplo:

Me esta quedando de esta forma:

Estimados (a) Buen día, Como xxx de xxx. actualmente estamos examinando los estados de cuenta al xx de xxxx de 2023, con relación a dicho examen, agradecemos dar respuesta a la circularización adjunta. Para que este proceso sea eficaz y después de haber firmado y descrito su respuesta por favor envíela directamente a xxxx, a la siguiente dirección xxxx en xxx, con atención a xxx o a los correos electrónicos xxxxxxx. Quedamos atentos, feliz día. Cordialmente xxxxxx

Y me gustaría dejarlo de la siguiente forma:

Estimados (a) Buen día,                                                                                                                                                                                                             

Como xxxx de xxxx. actualmente estamos examinando los estados de cuentas  al xx de xxxx  de 2023, con relación a dicho examen, agradecemos dar respuesta a la circularización adjunta.

Para que este proceso sea eficaz y después de haber firmado y descrito su respuesta por favor envíela directamente a xxxx, a la siguiente dirección xxxx en xxxx, con atención a xxxx o a los correos electrónicos xxxxxxx

Quedamos atentos, feliz día.

Cordialmente

Dando alcance a lo anterior, de pronto si se puede conservar el formato de origen del excel (con espacios) y que se adicione la firma.

Espero mi votación

Respuesta
1

Te puede interesar, un formato único para enviar correos masivos, con diferentes adjuntos, con diferentes destinatarios, con diferentes asuntos, etc:

https://youtu.be/FDF1UX3co2g 

Sal u dos

Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas