¿Cómo insertar imágenes en línea (no como adjuntos) en el correo desde Excel?

Para insertar imágenes en línea (no como adjuntos) en un correo electrónico desde Excel, puedes utilizar VBA (Visual Basic for Applications) para automatizar el proceso. Aquí te dejo un ejemplo sobre cómo hacerlo utilizando Outlook como cliente de correo:

   Sub EnviarCorreoConImagenEmbebida()
       Dim OutApp As Object
       Dim OutMail As Object
       Dim strBody As String
       
       ' Cambia la ruta de la imagen a la de tu archivo
       Dim strImagePath As String
       strImagePath = "C:rutadetuimagen.jpg"
       
       ' Cuerpo del correo electrónico
       strBody = "<html><body>" & _
                 "<h2>Hola,</h2>" & _
                 "<p>Este es un correo con una imagen insertada:</p>" & _
                 "<img src='cid:imagen1'>" & _
                 "</body></html>"
       
       Set OutApp = CreateObject("Outlook.Application")
       Set OutMail = OutApp.CreateItem(0)
       
       With OutMail
           .To = "destinatario@ejemplo.com"
           .Subject = "Correo con Imagen Embebida"
           .HTMLBody = strBody
           
           ' Adjuntar imagen y asignar Content ID
           Dim iImage As Object
           Set iImage = .Attachments.Add(strImagePath)
           iImage.PropertyAccessor.SetProperty "http://schemas.microsoft.com/mapi/proptag/0x3712001F", "imagen1"
           
           .Display ' Cambiar a .Send para enviar directamente
       End With
       
       Set OutMail = Nothing
       Set OutApp = Nothing
   End Sub
  • Asegúrate de que Outlook esté instalado y configurado en tu computadora, ya que el script lo utilizará para enviar el correo.
  • Guarda las imágenes que deseas insertar en tu correo electrónico en una ubicación accesible y anota sus rutas.
  • Abre Excel y presiona `Alt + F11` para abrir el entorno de desarrollo de VBA.
  • En el Editor de VBA, ve a `Insertar` > `Módulo` para crear un nuevo módulo.
  • Copia y pega el siguiente código en el módulo que creaste:
  • Modifica el código según tus necesidades, reemplazando `destinatario@ejemplo.com` con la dirección de correo del destinatario y `C:rutadetuimagen.jpg` con la ruta completa de tu imagen.
  • Ejecuta el script presionando `F5` mientras el módulo está abierto en el Editor de VBA.

Este script creará un correo electrónico en Outlook con una imagen embebida en el cuerpo del mensaje. Si quieres enviar directamente el correo sin verlo primero, sustituye `.Display` por `.Send`.

Recuerda que este procedimiento es específico para Outlook y utiliza VBA. Si utilizas otro cliente de correo, necesitarás adaptarlo o utilizar una herramienta compatible.

Conoce nuestros servicios

Conoce nuestra tienda

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Deja un comentario