¿Cómo adjuntar automáticamente el archivo Excel activo al correo?

Para adjuntar automáticamente el archivo Excel activo a un correo electrónico, puedes usar VBA (Visual Basic for Applications) en Excel. A continuación te muestro un ejemplo de cómo se podría hacer esto utilizando Outlook como cliente de correo:

   Sub EnviarCorreoConAdjunto()
       Dim OutlookApp As Object
       Dim OutlookMail As Object
       Dim WorkbookPath As String
       
       ' Obtener la ruta completa del archivo activo
       WorkbookPath = ThisWorkbook.FullName
       
       ' Crear una instancia de Outlook
       On Error Resume Next
       Set OutlookApp = GetObject(class:="Outlook.Application")
       If OutlookApp Is Nothing Then
           Set OutlookApp = CreateObject(class:="Outlook.Application")
       End If
       On Error GoTo 0
       
       ' Crear un nuevo correo
       Set OutlookMail = OutlookApp.CreateItem(0)
       
       With OutlookMail
           .To = "direccion@correo.com"  ' Cambia esto a la dirección de correo objetivo
           .Subject = "Archivo Excel Adjunto"
           .Body = "Hola, adjunto encontrarás el archivo Excel."
           .Attachments.Add WorkbookPath
           .Display  ' Usa .Send si deseas enviarlo directamente
       End With
       
       ' Limpiar objetos de Outlook
       Set OutlookMail = Nothing
       Set OutlookApp = Nothing
   End Sub
  • Abrir el Editor de VBA:
    • Abre tu archivo de Excel.
    • Presiona `Alt + F11` para abrir el Editor de VBA.
  • Insertar un Módulo:
    • En el Editor de VBA, haz clic en `Insertar` > `Módulo` para agregar un nuevo módulo.
  • Agregar el Código VBA:
    • Copia y pega el siguiente código en el módulo:
    • Asegúrate de reemplazar `»direccion@correo.com»` con la dirección de correo electrónico a la que deseas enviar el archivo.
  • Ejecutar el Macro:
    • Guarda tu archivo de Excel, asegurándote de guardarlo como un archivo que soporte macros, por ejemplo, con extensión `.xlsm`.
    • Cierra el Editor de VBA.
    • Regresa a Excel y presiona `Alt + F8` para abrir la ventana «Macro», selecciona `EnviarCorreoConAdjunto` y haz clic en «Ejecutar».

Este script abrirá Outlook y preparará un correo electrónico con el archivo Excel activo adjunto. Puedes cambiar `.Display` a `.Send` en el código si deseas que el correo se envíe automáticamente sin mostrarte antes el correo en pantalla. Asegúrate de tener Outlook instalado y configurado en tu computadora para que esto funcione correctamente.

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