.
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 destinatarios, como 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.
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);
}
}
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:
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
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:
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.
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
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
.
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