.
Anteriormente se han presentado varios post dedicados a mostrar macros que permiten enviar mails con Excel utizando outlook, entre ellos enviar mail con hoja adjunta, enviar mail con hoja de excel en el cuerpo del mensaje, enviar mail con archivo adjunto en pdf, enviar mail adjuntando pdf y archivo de Excel.
Antes de continuar, recomiendo que leas un excelente libro sobre Excel el que te ayudará operar las planillas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.
El libro de Excel que se descargue contiene una macro que permite enviar mail con Excel mediante Outlook, enviando una imagen en el cuerpo del mensaje, se debe cambiar los mail de la columna B por mails verdaderos, como requisito es necesario tener configurado Outlook como gestor de correo electrónico, ya que utiliza esta herramienta para enviar los correos electrónicos.
La macro recorre toda la columna B hasta la última fila con datos, enviando mail con el mensaje correspondiente que se encuentra en la columna C y la imagen cuya dirección web se encuentra en la columna D.
El código que se encuentra debajo de estos párrafos es el que encontrarás al descargar el ejemplo, se encuentra libre sin restricciones, carga una imagen del sitio http://programarexcel.com y hace referencia este sitio también; tu debes modificar la dirección por la dirección de la imagen que tu requieras, como así también al sitio donde hace referencia.
Considera aportar a los fines de seguir manteniendo el sitio, suscribe al blog para recibir en tu correo todas las actualizaciones, dispones también de un canal de You Tube donde encontrarás explicaciones de macros con mayor detalle.
if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}
Código que se inserta en un módulo
Sub SendMailbyOutlookImagen()
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim OA, OM As Object
Dim NA As Variant
Dim Path, TD, fn, mydoc As String
Dim fila As Integer
Set OA = CreateObject(«Outlook.Application»)
fn = ActiveSheet.Name
Set a = Sheets(fn)
fila = 2
uf = Sheets(fn).Range(«A» & Rows.Count).End(xlUp).Row
Do
Set OM = OA.CreateItem(0)
Nom = a.Cells(fila, «A»)
Dest = a.Cells(fila, «B»)
ST = a.Cells(fila, «C»)
Pathimag = a.Cells(fila, «D»)
With OM
.To = Dest
.CC = «»
.BCC = «»
.Subject = ST & » » & Nom
.BodyFormat = olFormatRichText
.Body = «Estimado, en el archivo adjunto se encuentra el reporte de » & fn & » al » & TD & » confirmar recepción»
.HTMLBody = «<p><font size=’6′ face=’arial’ color=’red’><i>Hola » & Nom & «<br></font></p><br><p align=’CENTER’><font size=’5′ face=’COMIC SANS’ color=’RED’>Mira mi perfil</p><br><br></font><p align=’CENTER’><a href=’http://programarexcel.com’><img src='» & Pathimag & «‘ width=450 height=412 border=0></a></a><br><br><br><p align=’left’>Hasta la vista baby <br><br/> _<p><p align=’left’><br>Tomy Lee<br>https://macrosenexcel.com/</p>»
.Send
End With
fila = fila + 1
Set OM = Nothing
Loop While fila <= uf
MsgBox «Los mails se enviaron con éxito», vbInformation, «AVISO»
Set OA = Nothing
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
.
If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.
Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends