
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



