Llega un correo, descargas el archivo. Llega otro, otra vez lo mismo. Si recibes facturas o documentos por correo todos los días, ya sabes de lo que hablo. La buena noticia es que esto se puede automatizar completamente, y en este tutorial te muestro dos formas de hacerlo.
Guardar archivos adjuntos de correo automáticamente — Macro VBA en Outlook y Power Automate
🎁 Descarga el archivo para practicar
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.
Método 1: Macro VBA en Outlook de escritorio
Este método funciona con cualquier cuenta de correo que tengas configurada en Outlook: Gmail, Outlook, Hotmail, Yahoo o cualquier cuenta empresarial. El único requisito es que uses Outlook clásico instalado (versión 2013 en adelante), no el nuevo Outlook.
Paso 1 — Habilita las macros
Ve a Archivo → Opciones → Centro de confianza → Configuración de centro de confianza → Configuración de macros. Puedes elegir entre recibir una notificación cada vez que abres Outlook, o habilitar todas las macros directamente.
Paso 2 — Abre el editor de VBA
Con el atajo Alt + F11 abres el editor, el mismo que usas en Excel. En la parte izquierda verás el proyecto de Outlook. Ahí, dentro del objeto ThisOutlookSession, pegas el código.
¿Qué hace el código?
La macro se dispara con el evento NewMailEx, que se ejecuta cada vez que llega un correo nuevo. El código revisa si el asunto contiene la palabra factura y, si es así, recorre los archivos adjuntos y los guarda en una carpeta local (por ejemplo, C:\Facturas). Si ya existe un archivo con el mismo nombre, le agrega la fecha y hora al final para que no se sobreescriba.
Resultado: en cuanto llega el correo, el archivo ya está en tu carpeta. Sin intervención.
Método 2: Power Automate (cuenta Microsoft 365)
Si tienes una cuenta empresarial o educativa de Microsoft 365, puedes hacer lo mismo pero en la nube, lo que significa que no necesitas tener la PC encendida.
Paso 1 — Accede a Power Automate
Entra a office.com con tu cuenta de 365, ve al panel de aplicaciones y busca Power Automate. Si no lo ves, consulta con el área de TI de tu empresa para que lo habiliten.
Paso 2 — Crea el flujo con Copilot
Dentro de Power Automate, usa Copilot para generar el flujo. Un prompt como este funciona bien:
“Quiero crear un flujo que cada vez que reciba un correo con la palabra factura en el asunto, los archivos adjuntos se guarden automáticamente en la carpeta Facturas de OneDrive.”
Copilot genera el flujo con tres pasos: disparador cuando llega un correo, ciclo para recorrer los adjuntos y acción para crear el archivo en OneDrive.
Paso 3 — Guarda y prueba
Guarda el flujo y pruébalo enviándote un correo con la palabra factura en el asunto y un archivo adjunto. Si el flujo se ejecutó correctamente, verás el archivo en tu carpeta de OneDrive.
Nota: si quieres que los archivos duplicados no se sobreescriban, puedes editar el flujo manualmente para agregar esa lógica, de manera similar a como lo hace la macro.
¿Cuál método te conviene?
| Macro VBA en Outlook | Power Automate | |
|---|---|---|
| Requiere PC encendida | Sí | No |
| Funciona con cualquier cuenta | Sí | Solo cuentas 365 |
| Los archivos se guardan en | Carpeta local | OneDrive |
| Nivel técnico | Intermedio | Básico |
Si este tipo de automatizaciones te parece útil, en Deztaca tenemos cursos donde aprenderás a hacer esto y mucho más, desde macros con VBA hasta flujos con Power Automate. Echa un vistazo a los cursos disponibles en deztaca.com/cursos.
