Para este ejemplo (Lo pueden adaptar a sus necesidades) , guardaremos automáticamente los correos que cumplan con un determinado texto y de un usuario especifico, en un archivo de texto en el disco D:\correo, esto se realiza en Windows 10 mediante un script de Outlook combinado con una regla.
Outlook no permite exportar a .txt en una ruta específica de forma nativa mediante reglas estándar, por lo que se requiere un pequeño código en VBA (Visual Basic for Applications).
Sigue estos pasos detallados para configurarlo:
1. Habilitar las macros en Outlook
- Abre Outlook y ve a Archivo > Opciones > Centro de confianza.
- Haz clic en Configuración del Centro de confianza… y ve a Configuración de macros.
- Selecciona Habilitar todas las macros (necesario para que corra el script automático) y acepta.
2. Insertar el código VBA
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Public Sub GuardarCorreoTexto(Item As Outlook.MailItem) Dim Ruta As String Dim NombreArchivo As String Dim ObjetoFSO As Object Dim ArchivoTexto As Object ' Definir la ruta del disco D Ruta = "D:\correo\" ' Crear el nombre del archivo usando el ID único del correo para evitar duplicados NombreArchivo = Ruta & "Incidente_" & Format(Now, "yyyymmdd_hhmmss") & "_" & Item.Size & ".txt" ' Crear el archivo de texto y escribir el contenido del correo Set ObjetoFSO = CreateObject("Scripting.FileSystemObject") Set ArchivoTexto = ObjetoFSO.CreateTextFile(NombreArchivo, True, True) ' Estructura del archivo de texto ArchivoTexto.WriteLine "De: " & Item.SenderName & " [" & Item.SenderEmailAddress & "]" ArchivoTexto.WriteLine "Fecha: " & Item.ReceivedTime ArchivoTexto.WriteLine "Asunto: " & Item.Subject ArchivoTexto.WriteLine "--------------------------------------------------" ArchivoTexto.WriteLine Item.Body ' Cerrar el archivo ArchivoTexto.Close ' Limpiar objetos Set ArchivoTexto = Nothing Set ObjetoFSO = Nothing End Sub |
- Asegúrate de tener creada la carpeta llamada correo dentro de tu disco D: (D:\correo).
- Guarda los cambios presionando Ctrl + S y cierra la ventana del editor de VBA.
3. Crear la regla automática
- En la bandeja de entrada de Outlook, ve a la pestaña Inicio > Reglas > Administrar reglas y alertas.
- Haz clic en Nueva regla.
- Selecciona Aplicar regla a los mensajes que reciba y avanza a Siguiente.
- Configura las condiciones según la glosa de tu imagen :
- Haz clic en Siguiente.
- En las acciones, marca la casilla ejecutar un script.
- En la parte inferior, haz clic en el enlace azul que dice «un script», selecciona GuardarCorreoTexto y acepta.
- Finaliza el asistente asignándole un nombre a la regla y asegurándote de que esté activada.
A partir de este momento, cada vez que llegue un correo que coincida con ese remitente y asunto, se creará un archivo .txt de forma invisible y automática en tu carpeta seleccionada.
CUANDO NO APARECE “ejecutar script” POR DFECTO. (Razones de seguridad)
Para que vuelva a aparecer la casilla, debes activar un permiso en el Registro de Windows 10 siguiendo estos pasos:
1. Abrir el Editor del Registro
- Presiona las teclas Windows + R en tu teclado para abrir la ventana «Ejecutar».
- Escribe regedit y presiona Enter (si te pide permisos de administrador, haz clic en Sí).
2. Buscar la ruta de Outlook
Dependiendo de la versión de Office que tengas instalada, navega en la columna de la izquierda desplegando las carpetas hasta encontrar la siguiente ruta:
- Si tienes Office 365, 2019 o 2016:
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security - Si tienes Office 2013:
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Security
3. Crear el valor de activación
- Haz clic derecho sobre la carpeta Security en la columna izquierda.
- Selecciona Nuevo > Valor de DWORD (32 bits).
- Asígnale exactamente este nombre: EnableUnsafeClientMailRules y presiona Enter.
- Haz doble clic sobre ese nuevo valor que acabas de crear.
- En el campo «Información del valor», cambia el 0 por un 1.
- Haz clic en Aceptar.
4. Reiniciar Outlook
Cierra el Editor del Registro, cierra por completo Outlook y vuélvelo a abrir.
Cuando intentes crear la regla nuevamente, la opción «ejecutar un script» ya aparecerá disponible en la lista de acciones.