Se desideri rimuovere gli elementi duplicati in Outlook, cercarli ed eliminarli uno per uno può essere piuttosto laborioso. Questo articolo ti insegnerà come farlo rapidamente con Outlook VBA.
Nel mio precedente articolo – “Come trovare e rimuovere rapidamente le email duplicate in Outlook”, puoi imparare un trucco per trovare e rimuovere le e-mail duplicate, che prima ordinano le e-mail per oggetto, poi per ora di ricezione e poi per allegati per scoprire gli elementi duplicati e infine selezionare quelli duplicati e premere il tasto "Elimina". Sebbene questo metodo sia apparentemente un po 'più conveniente, è molto più problematico rispetto all'utilizzo di Outlook VBA. Con i seguenti codici VBA, puoi rimuovere rapidamente gli elementi duplicati semplicemente con un clic, indipendentemente da e-mail, attività, contatti o appuntamenti. Ora continua a leggere per ottenere i codici in dettaglio.
Rimuovi gli elementi di Outlook duplicati in una cartella
- Per iniziare, avvia il programma Outlook.
- Quindi premere i pulsanti "Alt + F11".
- Nella successiva finestra dell'editor VBA, fare doppio clic per aprire un modulo che è in uso oppure inserire direttamente un nuovo modulo tramite “Inserisci” > “Modulo”.
- Quindi copia e incolla i seguenti codici VBA nel modulo.
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
- Successivamente, firma digitalmente questa macro e modifica il livello di sicurezza delle macro di Outlook su basso.
- Successivamente, puoi eseguire questo nuovo progetto VBA. Fare clic direttamente sull'icona "Esegui" nella barra degli strumenti.
- Successivamente, ti verrà richiesto di selezionare una cartella in cui desideri rimuovere gli elementi duplicati.
- Infine, gli elementi duplicati nella cartella selezionata verranno eliminati immediatamente.
Salvaguarda i dati PST vulnerabili
A causa del fatto che il file PST è suscettibile alla corruzione, quindi dovresti dedicare molti sforzi per salvaguardare il tuo file PST. Ad esempio, dovresti impedire che Outlook venga chiuso in modo improprio. Inoltre, è necessario preparare un file robusto Correzione di Outlook strumento, come DataNumen Outlook Repair che sarà in grado di salvare il tuo PST in tempo.
Introduzione dell'autore:
Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui recuperare SQL Server e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com



