Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Enviar correo con html

| Sin comentarios

¿Cómo enviar correo usando VBA?

Esta pregunta se nos pasa mucho en la cabeza cuando trabajamos con reportes y contamos con una gran base de datos teniendo que enviar a muchos un mismo mensaje.

Es por ello que se presentará un ejemplo practico de como teniendo una base de datos en excel se puede enviar un correo con un simple click.

Tendremos dos macros a utilizar:

1. Correo: El código será el mensaje que recibirá la persona por correo.

 La codificación es la siguiente:

Sub correo()

Dim olapp As Outlook.Application

Set olapp = CreateObject("Outlook.Application")

Dim olMail As Outlook.MailItem

Set olMail = olapp.CreateItem(olMailItem)

With olMail

.To = Cells(i, 7).Value

.Subject = "TIENE UN RECIBO PENDIENTE"

.htmlbody = "<FONT SIZE 12 COLOR='BLACK' FACE= 'ARIAL'>" & "Estimado(a): " & "</b><br/>" & "</b><br/>" & Chr(13) & Cells(i, 2) & ", tiene un recibo pendiente por la suma de S/ " & Cells(i, 3) & "; cuya fecha de vencimiento es el dia: " & Cells(i, 4) & _

" .Por favor, acerquese a alguna agencia para realizar el pago de su recibo y evitar inconvenientes con su servicio." & _

"</b><br/>" & "</b><br/>" & "</b><br/>" & "<FONT SIZE 7 COLOR='blue' FACE= 'Tahoma'>" & " NOTA:" & "</b><br/>" & "Si ya hizo el pago haga caso omiso de este mensaje. Muchas gracias."

.Send

End With

End Sub

2. Enviar: Al enviar correctamente nos saldrá el mensaje confirmando que se envió.

Sub enviar()

On Error GoTo controlerror

Worksheets("DATA").Select

ult3 = Cells(2, 2).End(xlDown).Row

k = 0

For i = 2 To ult3

    If Cells(i, 6) = "ENVIAR" Then

        k = k + 1

        Call correo

    End If

Next

If k = 1 Then

MsgBox "Se envió un correo.", , ""

ElseIf k > 1 Then

MsgBox "Se enviaron " & k & " correos.", , ""

Else

MsgBox "Hoy no hay mensajes por enviar.", , ""

End If

Exit Sub

controlerror:

MsgBox "Se envió " & k – 1 & " Mensaje(s)." & Chr(10) & Chr(10) & "NOTA: " & Chr(10) & "Ocurrió un error al enviar mensaje desde el cliente: " & Cells(i, 1) _

 & ". Compruebe que exista un correo electrónico registrado.", , " ERROR"

End Sub

Enviar correo con html

 

Deja un comentario

Los campos requeridos estan marcados con *.