¿Tienes una macro que envía correos desde Excel pero no tienes Outlook instalado — o ya migraste al Nuevo Outlook y dejó de funcionar? No estás solo. Es una de las preguntas que más se repiten en los comentarios de mi canal, y en este video te doy la solución completa.
Cómo enviar emails desde Excel con Gmail o tu correo de empresa
Suscríbete para más tutoriales
🎁 Descarga el archivo de ejemplo
Escribe tu correo electrónico para recibir gratis el archivo para practicar.
*Al enviar mi correo electrónico, acepto recibir noticias y ofertas. Puedo darme de baja en cualquier momento.
¿Qué es CDO y por qué lo necesitas?
CDO (Collaboration Data Objects) es una librería de Windows que permite enviar correos directamente desde aplicaciones como Excel, sin depender de Outlook. Para activarla vas al editor de VBA, menú Herramientas → Referencias, y buscas Microsoft CDO for Windows 2000 Library.
Configura tu cuenta de Gmail en 2 pasos
Antes de tocar el código necesitas hacer dos cosas en tu cuenta de Google:
- Activa la Verificación en dos pasos desde myaccount.google.com/security
- Genera una contraseña de aplicación en myaccount.google.com/apppasswords — dale un nombre como “Excel VBA” y copia la contraseña de 16 caracteres que te genera
Esa contraseña temporal es la que usarás en tu macro — nunca tu contraseña real de Gmail.
La configuración SMTP que funciona
Aunque en la documentación oficial aparece el puerto 587, en la práctica CDO funciona mejor con Gmail usando puerto 465 y SSL activado:
VBA
.Item("...smtpserver") = "smtp.gmail.com"
.Item("...smtpserverport") = 465
.Item("...smtpusessl") = True
Si usas una cuenta de empresa, solo pide a tu administrador el servidor SMTP, el puerto y las credenciales — el código es exactamente el mismo.
El caso práctico: nómina por correo con adjunto
Aplicamos todo esto a un caso real: RRHH tiene en Excel una tabla con datos de empleados — nombre, puesto, sueldo, deducciones y neto a pagar — y con un solo clic envía a cada empleado su recibo en PDF adjunto, con el desglose de su nómina en el cuerpo del correo en formato HTML.
La macro además registra automáticamente la fecha y hora de envío en la tabla, para que no se mande dos veces el mismo correo.
¿Quieres un correo más llamativo? Usa IA
El HTML básico funciona, pero si quieres un diseño más profesional puedes pasarle tu código a Claude con este prompt:
“Tengo este código VBA que genera el cuerpo de un correo en HTML. Mejora el diseño para que se vea más profesional y llamativo, manteniendo los mismos datos y variables de VBA. Usa colores corporativos, tabla con estilos y un footer discreto.”
Un tip importante: si los acentos llegan como símbolos raros en Outlook, es tema de codificación — interactúa con la IA hasta encontrar la versión que funcione. Con las IAs hay que iterar.
¿Quieres aprender más automatizaciones como esta?
En Deztaca tenemos cursos completos de VBA, macros, Power Query y mucho más — con clases en vivo cada semana y acceso a toda la plataforma por una sola membresía. Si quieres llevar tu Excel al siguiente nivel profesional, te esperamos en deztaca.com.
