
Para enviar un correo desde Excel utilizando Outlook y VBA, debes asegurarte de tener Microsoft Outlook instalado en tu computadora ya que VBA interactuará directamente con él. Aquí tienes un ejemplo sencillo de cómo puedes hacerlo:
Sub EnviarCorreo()
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim destinatario As String
Dim asunto As String
Dim cuerpo As String
' Crea una instancia de Outlook
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0) ' 0 para un nuevo correo
' Configura los detalles del correo
destinatario = "correo@ejemplo.com"
asunto = "Asunto del correo"
cuerpo = "Este es el cuerpo del correo."
' Configura el correo
With OutlookMail
.To = destinatario
.Subject = asunto
.Body = cuerpo
' Puedes agregar más configuraciones, como .CC, .BCC, .Attachments, etc.
.Display ' Muestra el correo, usa .Send para enviar directamente
End With
' Limpia
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
- Abre Excel y presiona `Alt + F11` para abrir el Editor de Visual Basic para Aplicaciones.
- En el menú de VBA, haz clic en `Insertar` y luego en `Módulo` para crear un nuevo módulo.
- Copia y pega el siguiente código en el módulo:
- Personaliza las variables `destinatario`, `asunto` y `cuerpo` con la información deseada.
- Puedes ejecutar el script presionando `F5` mientras estás en el Editor de VBA o cerrando el editor y ejecutando el macro desde Excel.
Nota:
- El uso de `.Display` en lugar de `.Send` te permite revisar el correo antes de enviarlo. Cambia a `.Send` si deseas que el correo se envíe automáticamente sin que se muestre antes.
- Puede que necesites ajustar la configuración de seguridad de VBA en Outlook para permitir que los scripts se ejecuten sin problemas. Ve a `Archivo > Opciones > Centro de confianza > Configuración del Centro de confianza` y asegúrate de que VBA esté habilitado.
- Este ejemplo es básico y no maneja errores. Considera agregar manejo de errores en un entorno de producción.
- Comprueba las configuraciones de tu servidor de correo, ya que algunas configuraciones corporativas podrían requerir permisos adicionales para enviar correos mediante scripts.
Conoce nuestros servicios



