Excel Avanzado

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

Excel Avanzado
Logo Excel Avanzado

Macro para insertar imagen en correo

| 1 comentario

En esta macro se elabora una serie de instrucciones que tiene como finalidad enviar una gráfica modificada en una hoja, de manera automática a un destinatario deseado vía mail Outlook.  Para realizar esta macro se tienen que realizar los siguientes pasos: 

Definir las variables 

Las variables tipo string estarían definidas por el cuerpo del correo electrónico, en este caso sería el saludo, el cuerpo con la imagen, y la despedida el correo.  La otra variable a definir seria la variable MailItem que especifica que se trabajara con un formato correspondiente a un correo electrónico. 

enviar gráfico por correo

Guardar la imagen, es decir el gráfico a enviar

Las imágenes en vba están definidas como se ve en el código:  como un chart object y se exporta especificando la dirección de la imagen.

enviar gráfico por correo

Crear el cuerpo del correo adjuntando la imagen 

El correo tiene tres partes: el saludo, el cuerpo y las gracias. 

Como se observa casi todo se encuentra entre comillas debido a que la estructura de la orden que se manda no se encuentra en el lenguaje de visual basic sino en otro lenguaje html, por esa razón el programa no reconocería estos comandos.

insertar imagen en correoEnviar email

Para finalmente para enviar el correo, se crea una función with que nos permite ejecutar un conjunto de instrucciones sin tener que hacer referencia a otro objeto. 

Como se observa en el código se especifica hacia quien está dirigido, el asunto, los archivos adjuntos, el cuerpo del correo (el saludo, cuerpo y gracias) y finalmente display que conectara el Excel con el Outlook. 

insertar imagen en correo

Finalmente, se pueden agregar más imágenes concatenando y definiendo imágenes al código. 

 

Por : Manuel Mar Valencia

Descargar ejemplo para insertar imagen como parte de un correo electrónico: Insertar imagen en correo VBA

 

Un comentario

  1. Donde asignaste la variable sImgPath???

    Saludos:

    Mid(sImgPath, InStrRev(sImg, «\») + 1)

Deja un comentario

Los campos requeridos estan marcados con *.