Si desea eliminar los elementos duplicados en Outlook, buscar y eliminar uno por uno será bastante problemático. Esta post le enseñará cómo completarlo rápidamente con Outlook VBA.
En mi artículo anterior: "Cómo buscar y eliminar rápidamente correos electrónicos duplicados en Outlook”, Puede aprender un truco para encontrar y eliminar correos electrónicos duplicados, que primero clasifica los correos electrónicos por asunto, luego por tiempo de recepción y luego por adjuntos para encontrar los elementos duplicados y finalmente seleccionar los duplicados y presionar la tecla“ Eliminar ”. Aunque este método es aparentemente un poco más conveniente, es mucho más problemático en comparación con el uso de Outlook VBA. Con los siguientes códigos VBA, puede eliminar rápidamente los elementos duplicados simplemente con un clic, sin importar correos electrónicos, tareas, contactos o citas. Ahora siga leyendo para obtener los códigos en detalle.

Eliminar los elementos de Outlook duplicados en una carpeta
- A start con, inicie su programa Outlook.
- Luego presione los botones de tecla "Alt + F11".
- En la siguiente ventana del editor de VBA, haga doble clic para abrir un módulo que esté en uso o inserte directamente un nuevo módulo mediante "Insertar"> "Módulo".
- Luego copie y pegue los siguientes códigos VBA en el módulo.
Sub RemoveDuplicateItems()
Dim objFolder As Folder
Dim objDictionary As Object
Dim i As Long
Dim objItem As Object
Dim strKey As String
Set objDictionary = CreateObject("scripting.dictionary")
'Select a source folder
Set objFolder = Outlook.Application.Session.PickFolder
If Not (objFolder Is Nothing) Then
For i = objFolder.Items.Count To 1 Step -1
Set objItem = objFolder.Items.Item(i)
Select Case objFolder.DefaultItemType
'Check email subject, body and sent time
Case olMailItem
strKey = objItem.Subject & "," & objItem.Body & "," & objItem.SentOn
'Check appointment subject, start time, duration, location and body
Case olAppointmentItem
strKey = objItem.Subject & "," & objItem.Start & "," & objItem.Duration & "," & objItem.Location & "," & objItem.Body
'Check contact full name and email address
Case olContactItem
strKey = objItem.FullName & "," & objItem.Email1Address & "," & objItem.Email2Address & "," & objItem.Email3Address
'Check task subject, start date, due date and body
Case olTaskItem
strKey = objItem.Subject & "," & objItem.StartDate & "," & objItem.DueDate & "," & objItem.Body
End Select
strKey = Replace(strKey, ", ", Chr(32))
'Remove the duplicate items
If objDictionary.Exists(strKey) = True Then
objItem.Delete
Else
objDictionary.Add strKey, True
End If
Next i
End If
End Sub
- Después de eso, firme digitalmente esta macro y cambie su nivel de seguridad de macro de Outlook a bajo.
- Más tarde, puede ejecutar este nuevo proyecto de VBA. Haga clic directamente en el icono "Ejecutar" en la barra de herramientas.
- Posteriormente, se le pedirá que seleccione una carpeta en la que desee eliminar los elementos duplicados.
- Finalmente, los elementos duplicados en la carpeta seleccionada se eliminarán de una vez.
Proteja los datos PST vulnerables
Debido al hecho de que el archivo PST es susceptible a la corrupción, debe dedicar un gran esfuerzo a proteger su archivo PST. Por ejemplo, debe evitar que Outlook se cierre incorrectamente. Además, necesita preparar un sólido Corrección de Outlook herramienta, como DataNumen Outlook Repair que podrá salvar su PST a tiempo.
Introducción del autor:
Shirley Zhang es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo recuperar SQL Server y productos de software de reparación de Outlook. Para más información visite www.datanumen.com


