¿Cómo automatizar el envío de correos desde Excel a una lista de direcciones?

Para automatizar el envío de correos electrónicos desde Excel a una lista de direcciones, puedes utilizar Visual Basic for Applications (VBA) dentro de Excel en combinación con Outlook. A continuación te presento una guía paso a paso para realizar esta tarea:

Paso 1: Preparar tu hoja de Excel

  • Estructura de Datos: Asegúrate de que tu hoja de Excel tenga al menos las siguientes columnas:
    • `Email`: Direcciones de correo electrónico.
    • `Asunto`: (Opcional) El asunto del correo.
    • `Mensaje`: El contenido del correo.
  • Nombre de la Hoja: Dale un nombre fácil de recordar a tu hoja de Excel, por ejemplo, «Correos».

Paso 2: Habilitar la Pestaña de Desarrollador

  • Abre Excel y ve a `Archivo` > `Opciones`.
  • En la ventana de opciones, selecciona `Personalizar cinta de opciones`.
  • Asegúrate de que la casilla `Programador` esté marcada.

Paso 3: Insertar el Código VBA

   Sub EnviarCorreos()

       Dim OutlookApp As Object
       Dim EmailItem As Object
       Dim ws As Worksheet
       Dim i As Integer

       ' Asigna tu hoja de cálculo a la variable ws
       Set ws = ThisWorkbook.Sheets("Correos")
       
       ' Crea una instancia de la aplicación 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

       ' Itera a través de las filas de la hoja de cálculo
       For i = 2 To ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
           ' Crea un nuevo email
           Set EmailItem = OutlookApp.CreateItem(0)
           With EmailItem
               .To = ws.Cells(i, 1).Value ' Columna A: Email
               .Subject = ws.Cells(i, 2).Value ' Columna B: Asunto
               .Body = ws.Cells(i, 3).Value ' Columna C: Mensaje
               .Send ' Envía el correo
           End With
           
           ' Libera el objeto EmailItem
           Set EmailItem = Nothing
       Next i

       ' Libera el objeto OutlookApp
       Set OutlookApp = Nothing

   End Sub
  • Ve a la pestaña `Desarrollador` y haz clic en `Visual Basic`.
  • 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:

Paso 4: Ejecutar el Código

  • Guarda tu trabajo en VBA.
  • Cierra el Editor de VBA.
  • Desde Excel, vuelve a la pestaña `Desarrollador` y haz clic en `Macros`.
  • Selecciona `EnviarCorreos` y haz clic en `Ejecutar`.

Notas Importantes:

  • Seguridad: Asegúrate de tener configurada la seguridad de macros para permitir la ejecución de este script.
  • Outlook: Este método asume que tienes Outlook instalado en tu computadora y configurado para enviar correos.
  • Revisar antes de enviar: Es recomendable probar el envío de correos con unos pocos destinatarios antes de hacer un envío masivo.
  • Errores y Permisos: Dependiendo de la configuración de seguridad de Outlook, es posible que recibas avisos de seguridad al enviar correos mediante automatización.

Este método es una forma eficaz de enviar correos electrónicos de manera automatizada, pero siempre asegúrate de cumplir con las políticas de tu organización respecto al envío masivo de correos.

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