¡Hola Nacho Pérez!
Bienvenido a Microsoft Q&A.
Creación de codigo no esta soportado, habiendo dicho esto, permiteme tratar de ayudarte guiarte con este script.
Aquí tienes un ejemplo que cumple con tus requisitos:
- Eliminar correos duplicados por asunto:
- Eliminar correos duplicados que contengan la palabra "cerrada" en el cuerpo del mensaje, excepto el que contiene "cerrada".
Sub EliminarCorreosDuplicados()
Dim olApp As Outlook.Application
Dim olNamespace As Outlook.Namespace
Dim olFolder As Outlook.MAPIFolder
Dim olItems As Outlook.Items
Dim olMail As Outlook.MailItem
Dim i As Long
Dim j As Long
Dim dict As Object
Dim subject As String
Dim body As String
Set olApp = Outlook.Application
Set olNamespace = olApp.GetNamespace("MAPI")
Set olFolder = olNamespace.GetDefaultFolder(olFolderInbox)
Set olItems = olFolder.Items
Set dict = CreateObject("Scripting.Dictionary")
' Recorrer todos los correos en la carpeta
For i = olItems.Count To 1 Step -1
If TypeOf olItems(i) Is Outlook.MailItem Then
Set olMail = olItems(i)
subject = olMail.Subject
body = olMail.Body
' Verificar si el asunto ya está en el diccionario
If dict.exists(subject) Then
' Si el cuerpo contiene "cerrada", eliminar el correo duplicado
If InStr(1, body, "cerrada", vbTextCompare) > 0 Then
olMail.Delete
End If
Else
' Agregar el asunto al diccionario
dict.Add subject, True
End If
End If
Next i
' Limpiar objetos
Set olMail = Nothing
Set olItems = Nothing
Set olFolder = Nothing
Set olNamespace = Nothing
Set olApp = Nothing
Set dict = Nothing
MsgBox "Correos duplicados eliminados."
End Sub
Este script recorre todos los correos en la carpeta de entrada (Inbox) y elimina los correos duplicados basados en el asunto. Además, si el cuerpo del mensaje contiene la palabra "cerrada", eliminará todos los correos duplicados de esa incidencia, excepto el que contiene "cerrada".
Para usar este script:
- Abre Outlook.
- Presiona
Alt + F11
para abrir el Editor de VBA. - Inserta un nuevo módulo (
Insert > Module
). - Copia y pega el script en el módulo.
- Cierra el Editor de VBA.
- Ejecuta el script desde Outlook (
Alt + F8
, seleccionaEliminarCorreosDuplicados
y haz clic enRun
).
Espero que estos consejos ayuden a resolver el problema. Si necesitas más asistencia, estoy a tu disposición.
Saludos,
Jonathan.
----------*
Tu opinión es muy importante para nosotros! Si esta respuesta resolvió tu consulta, por favor haz clic en 'SÍ'. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones.