Como Enviar Mail con Firma e Imagen Guardada en Nuestra PC en Cuerpo del Mensaje con Excel





En esta Web se han publicado muchos ejemplos con distintas variantes que permiten enviar Mail con Excel, en esta oportunidad presente un ejemplo bastantes solicitado, consiste en una macro que envía mail con una imagen guardada en nuestra PC y una firma al final del cuerpo del mensaje; también te pueden ser de utilidad como enviar mail con hoja Excel en cuerpo del mensaje y PDF adjunto, como enviar mail con Excel con un link, hiperlink, hipervinculo en el cuerpo del mensaje, macro muestra alerta y envía mail a varios destinatarioscomo enviar Mail con Excel utilizando Gmail o Yahoo.

Recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas 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 vídeo verás la macro en acción con una explicación más detallada de su codificación y funcionamiento, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo Recorre fila buscando y comparando datos de dos columnas en hojas distintasbuscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mail, trabajando con filas, celdas, columnas, rangos y muchos ejemplos más.









   

Desde el final del post se puede descargar el ejemplo en forma gratuita sin ninguna restricción, el código se puede adaptar a cada necesidad, Aporta por favor para sostener el sitio si está dentro de tus posibilidades, desde ya muchas gracias.

Es necesario para entender en funcionamiento de la macro descargar el ejemplo, una vez abierto el libro de Excel con la macro se podrá observar un botón, presionando el mismo se ejecuta la macro que permite enviar mail con una imagen Guardada en nuestra PC no en un servidos y firma inserta en el mail.

Como primer medida al ejecutar la macro se abre un Explorador de ficheros de Windows, filtrando solo las imágenes con extensión JPG, se debe seleccionar la imagen que se requiere enviar por mail, cerrándose el explorador de archivos  (click en el link para aprender más sobre su uso en VBA), si se cierra el explorador de ficheros sin seleccionar archivo la macro muestra un mensaje operación cancelada y termina la macro sin realizar nada.

Para poder realizar el envío de la imagen y firma en el cuerpo del mensaje se usa un poco de codificación html en forma básica, que nos ayudará a poder componer el mail, como se observa en el código siguiente se carga en variables el string o texto con el código html, que se usará luego para enviar el mail, esto se hace con el siguiente código.

En la variable sini se carga el titulo que hemos dado al mail:

sini = "<Div><H3><B>Estimado enviamos chiste del día. </B></H3><br></Div>"


En la variable stbl se carga el texto o string que consiste en la codificación html que nos permite agregar la imagen en el mail.

stbl = "<Div> <IMG SRC=""" & myfile & """><br><br></Div>"

Si se observa el código siguiente se puede ver que la variable spie es igual al string con la fima que irá en el mail

spie = "<Div><B><FONT COLOR= ""red "" >PROGRAMAR EXCEL <a href=""http://programarexcel.com"">Visit PROGRAMAR EXCEL.com</a> <a href=""https://www.youtube.com/channel/UCTKYXi9ljxxOAXXKgwWDDpQ"">Visit YOUTUBE CHANEL</a> </FONT> <br>  Lincoln Road Mall <br> Miami Beach <br> Florida, USA <br> <br>" & _
       "Tel: 99999999<br> Fax : 99999999 <br> Whatsapp : 99999999 <br> E -mail: marcrodos@yahoo.es <br><br><FONT COLOR="" green ""> <FONT FACE= ""Webdings "" >P </FONT> Antes de imprimir este e-mail piense bien si es necesario hacerlo: El medioambiente es cosa de todos !</FONT><br><br>" & _
       "* * * * * * * * AVISO DE CONFIDENCIALIDAD * * * * * * * * * * <br><br>Este mensaje de correo electrónico y sus anexos (si los hay) están destinados exclusivamente para el uso del destinatario del mismo, y como tal, siguen siendo propiedad de PROGRAMAR EXCEL.COM. Este mensaje y los archivos adjuntos (si los hay) pueden contener información que es confidencial, privilegiada y exenta de divulgación en virtud de la ley aplicable. Si usted no es el destinatario de este mensaje, se le prohíbe la lectura, divulgación, reproducción, distribución, difusión o utilización de cualquier forma esta transmisión. La entrega de este mensaje a cualquier persona que no sea el destinatario no tiene la intención de renunciar a cualquier derecho o privilegio. Si usted ha recibido este mensaje por error, por favor notifique inmediatamente al remitente por e-mail y elimine de inmediato este mensaje de su sistema.</Div>"


⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Quizá sea de utilidad también

Como hacer cronometro con macro VBA para Excel


Como determinar los días laborables entre dos fechas con feriados entre medio

Como buscar datos entre fecha y fecha

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛



⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛

Entonces una vez que se ha creado el cuerpo del mail con la codificación html y cargado en las distintas variables, solamente queda concatenar las variables para poder formar el body o cuerpo del mail, quedando en la variable sbdy el mail a enviar este incluye el titulo, la imagen y la firma; lo mencionado se hace de la siguiente forma:

sbdy = sini & vbNewLine & vbNewLine & vbNewLine & vbNewLine & vbNewLine
sbdy = sbdy & vbNewLine & vbNewLine & stbl & vbNewLine & vbNewLine
sbdy = sbdy & spie

Para enviar el mail con Excel utilizando Outlook se utiliza la siguiente codificación, que es en definitiva la que nos permite enviar el mail con Excel, deberíamos tener obviamente Outlook configurado con la cuenta de mail.

With OMail
.To = Dest
.CC = Cop
.BCC = SCop
.Subject = Asun
.Attachments.Add rutapdf
.Display
.HTMLBody = sbdy
.Send
End With

La codificación completa de la macro que permite Enviar Mail con Outlook con Imagen Guardada en Nuestra PC y Firma Inserta en el Cuerpo del Mensaje; se presenta a continuación, ésta se debe ingresar en un módulo, sugiero descargar el ejemplo y hacer las modificaciones y adaptaciones a lo que que requiera cada uno.


Código que se inserta en un módulo

Sub EnviaMail()
Dim a As Worksheet, b As Worksheet
Dim OApp As Object, OMail As Object, sbdy As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
ChDir (ActiveWorkbook.Path)
myfile = Application.GetOpenFilename("Archivos Excel (*.jp*), *.jp*")
If VarType(myfile) = vbBoolean Then
MsgBox ("Operación cancelada"), vbCritical, "AVISO"
Exit Sub
End If
Dest = Range("A3")
Asun = "Te tenga un Buen Día"

Set OApp = CreateObject("Outlook.Application")
Set OMail = OApp.CreateItem(0)

sini = "<Div><H3><B>Estimado enviamos chiste del día. </B></H3><br></Div>"
stbl = "<Div> <IMG SRC=""" & myfile & """><br><br></Div>"
'stbl = TableHTML
spie = "<Div><B><FONT COLOR= ""red "" >PROGRAMAR EXCEL <a href=""http://programarexcel.com"">Visit PROGRAMAR EXCEL.com</a> <a href=""https://www.youtube.com/channel/UCTKYXi9ljxxOAXXKgwWDDpQ"">Visit YOUTUBE CHANEL</a> </FONT> <br>  Lincoln Road Mall <br> Miami Beach <br> Florida, USA <br> <br>" & _
       "Tel: 99999999<br> Fax : 99999999 <br> Whatsapp : 99999999 <br> E -mail: marcrodos@yahoo.es <br><br><FONT COLOR="" green ""> <FONT FACE= ""Webdings "" >P </FONT> Antes de imprimir este e-mail piense bien si es necesario hacerlo: El medioambiente es cosa de todos !</FONT><br><br>" & _
       "* * * * * * * * AVISO DE CONFIDENCIALIDAD * * * * * * * * * * <br><br>Este mensaje de correo electrónico y sus anexos (si los hay) están destinados exclusivamente para el uso del destinatario del mismo, y como tal, siguen siendo propiedad de PROGRAMAR EXCEL.COM. Este mensaje y los archivos adjuntos (si los hay) pueden contener información que es confidencial, privilegiada y exenta de divulgación en virtud de la ley aplicable. Si usted no es el destinatario de este mensaje, se le prohíbe la lectura, divulgación, reproducción, distribución, difusión o utilización de cualquier forma esta transmisión. La entrega de este mensaje a cualquier persona que no sea el destinatario no tiene la intención de renunciar a cualquier derecho o privilegio. Si usted ha recibido este mensaje por error, por favor notifique inmediatamente al remitente por e-mail y elimine de inmediato este mensaje de su sistema.</Div>"
sbdy = sini & vbNewLine & vbNewLine & vbNewLine & vbNewLine & vbNewLine
sbdy = sbdy & vbNewLine & vbNewLine & stbl & vbNewLine & vbNewLine
sbdy = sbdy & spie

With OMail
.To = Dest
.CC = Cop
.BCC = SCop
.Subject = Asun
.Attachments.Add rutapdf
.Display
.HTMLBody = sbdy
.Send
End With
Set OMail = Nothing
Set OApp = Nothing

Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox ("El mensaje se envió con éxito"), vbInformation, "AVISO"
End Sub


Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


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