Enviar email con archivo adjunto desde hoja Excel

Compatibilidad: Truco compatible con Excel 365Truco compatible con Excel 2016Truco compatible con Excel 2013Truco compatible con Excel 2010Truco compatible con Excel 2007

Podemos enviar email con archivo adjunto desde hoja Excel.

Enviar email con archivo adjunto desde hoja Excel

En la columna A disponemos de los encabezados de los datos del email y en la columna B escribiremos los valores del email.

 A
1 
2
Para:
3
CC:
4
CCOO:
5
Asunto:
6
Mensaje:
7
Archivo adjunto:
8
Archivo adjunto 2:
  • VALORES DEL EMAIL

  1. Ir a: Celda B2 / Escribir: email1@email.com. O el correo deseado del destinatario.

  2. Ir a: Celda B3 / Escribir: email2@email.com. O el correo deseado con copia.

  3. Ir a: Celda B4 / Escribir: email3@email.com. O el correo deseado con copia oculta.

  4. Ir a: Celda B5 / Escribir: Informe mensual. O el asunto deseado para el correo.

  5. Ir a: Celda B6 / Escribir:

    Buenos días

    Remito el informe mensual con los datos actualizados.

    Saludos.

    Podemos incluir en la celda, saltos de línea con el atajo de teclado Alt+Enter.

  6. Ir a: Celda B7 / Escribir: C:\Informe1.pdf. O la ruta y el archivo 1 adjunto.

  7. Ir a: Celda B8 / Escribir: C:\Informe2.pdf. O la ruta y el archivo 2 adjunto, si se desea.

    Hoja Excel con los valores para el email
  8. Guardar Informe1.pdf e Informe2.pdf en la ruta indicada, como archivos adjuntos.

  • CREAR MACRO

  1. Con Excel abierto.

  2. Pulsar la tecla Alt y mantener pulsada / Pulsar la tecla F11. Mostrará el editor de Visual Basic.

  3. Ir a: Barra de Menú / Insertar / Módulo. Mostrará la ventana del módulo donde escribimos la macro.

    Explorador de Proyectos con módulo1 seleccionado
  4. Escribir el código de la macro:

    Sub Email_Adjunto()

    Dim mi_App As Object
    Dim mi_Correo As Object

    Set mi_App = CreateObject(“Outlook.Application”)
    mi_App.Session.logon

    Set mi_Correo = mi_App.CreateItem(0)
    ActiveWorkbook.Save

    On Error Resume Next

    With mi_Correo
    .To = Range(“B2”).Value
    .CC = Range(“B3”).Value
    .BCC = Range(“B4”).Value
    .Subject = Range(“B5”).Value
    .Body = Range(“B6”).Value
    .Attachments.Add Range(“B7”).Value
    .Attachments.Add Range(“B8”).Value
    .DeleteAfterSubmit = False
    .Send
    End With

    MsgBox “Email enviado con éxito”

    On Error GoTo 0

    Set mi_Correo = Nothing
    Set mi_App = Nothing

    End Sub

    .DeleteAfterSubmit = False; Almacena copia en bandeja enviados; True, no almacena.

  5. Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.

  • INSERTAR BOTÓN

  1. Ir a: Cinta de opciones / Pestaña: Desarrollador / Grupo: Controles / Insertar / Controles de formulario / Botón.

    Asignar una macro a un botón en Excel: Botón insertar, mostrando los controles disponibles
  2. Ir a la hoja / Trazar un área rectangular para el botón. Mostrará ventana de Asignar macro.

    Ventana de asignar macro con la macro deseada
  3. Ir a: Nombre de la macro / Clic sobre: Email_Adjunto. Para seleccionar la macro.

  4. Pulsar el botón Aceptar. Asigna la macro al botón.

Hoja Excel con el botón para ejecutar macro
  • INSERTAR REFERENCIA

  1. Con Excel abierto.

  2. Pulsar la tecla Alt y mantener pulsada / Pulsar la tecla F11. Mostrará el editor de Visual Basic.

  3. Ir a: Barra de Menú / Herramientas / Referencias. Mostrará la ventana de referencias VBAProject.

  4. Activar la casilla: Microsoft Outlook 16.0 Object Library (El número representa la versión de Excel).

  5. Pulsar el botón Aceptar. Cierra la ventana y activa la libreria.

  • EJECUTAR MACRO

  1. Ejecutar la macro “Email_Adjunto”.

  2. Mostrará mensaje de confirmación de envío.

    Mensaje de confirmación email enviado con éxito
  3. Verificar como se envía el email con el archivo adjunto a los datos del rango B2:B8.

 

Nivel de dificultad: Experto VBA-Macros Excel Experto VBA – Macros

20 comentarios en “Enviar email con archivo adjunto desde hoja Excel

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *