¿Cómo enviar diferentes archivos a diferentes destinatarios desde una tabla de Excel?

Para enviar diferentes archivos a diferentes destinatarios desde una tabla de Excel, puedes utilizar una combinación de Excel y Outlook (si estás usando Microsoft Office) o algún otro cliente de correo compatible con VBA (Visual Basic for Applications). Aquí tienes una guía básica sobre cómo hacerlo:

   Sub EnviarArchivosPorCorreo()
       Dim OutlookApp As Object
       Dim OutlookMail As Object
       Dim i As Integer
       Dim Destinatario As String
       Dim RutaArchivo As String
       Dim Asunto As String
       Dim CuerpoMensaje As String
       
       ' 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

       ' Suponiendo que tu tabla de Excel comienza en la fila 2
       i = 2
       Do While Not IsEmpty(Cells(i, 1))
           Destinatario = Cells(i, 1).Value
           RutaArchivo = Cells(i, 2).Value
           Asunto = Cells(i, 3).Value
           CuerpoMensaje = Cells(i, 4).Value
           
           ' Crear un correo electrónico
           Set OutlookMail = OutlookApp.CreateItem(0)
           With OutlookMail
               .To = Destinatario
               .Subject = Asunto
               .Body = CuerpoMensaje
               .Attachments.Add RutaArchivo
               .Send ' Puedes usar .Display si prefieres revisar el correo antes de enviarlo
           End With
           
           i = i + 1
       Loop

       ' Limpiar objetos
       Set OutlookMail = Nothing
       Set OutlookApp = Nothing
   End Sub
  • Preparar la Tabla de Excel:
    • Asegúrate de tener una tabla en Excel que contenga al menos las siguientes columnas:
    • Dirección de correo electrónico del destinatario.
    • Ruta del archivo que deseas enviar.
    • Asunto del correo electrónico (opcional).
    • Cuerpo del correo electrónico (opcional).
  • Abrir el Editor de VBA:
    • Pulsa `Alt + F11` para abrir el Editor de VBA en Excel.
  • Insertar un Módulo Nuevo:
    • En el Editor de VBA, ve a `Insertar` > `Módulo` para crear un nuevo módulo.
  • Escribir el Código VBA:
    • Escribe el siguiente código VBA adaptándolo según el nombre de tu hoja de Excel y las columnas específicas:
  • Ajustar el Código Según sea Necesario:
    • Asegúrate de que las referencias a las celdas de Excel en el código coincidan con la estructura de tu hoja de cálculo. Por ejemplo, `Cells(i, 1)` asume que los correos electrónicos están en la primera columna, los archivos en la segunda, etc.
  • Ejecutar el Código:
    • Vuelve a Excel, pulsa `Alt + F8`, selecciona `EnviarArchivosPorCorreo` y haz clic en `Ejecutar`.
  • Configuraciones Adicionales:
    • Asegúrate de que Outlook esté correctamente configurado y abierto, y de que Excel tenga permisos para enviar correos utilizando Outlook.

Este enfoque básico utiliza VBA en combo con Outlook para enviar archivos adjuntos automáticamente a diferentes destinatarios. Si necesitas enviar correos a una gran cantidad de destinatarios o buscas más robustez en el proceso, considera soluciones escalables como scripts en Python con servicios SMTP o servicios de terceros más avanzados para automatización.

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