Se você deseja remover os itens duplicados no Outlook, pesquisar e remover um por um será bastante problemático. Este Post irá ensiná-lo a completá-lo rapidamente com o Outlook VBA.
No meu artigo anterior – “Como localizar e remover rapidamente e-mails duplicados no Outlook”, você pode aprender um truque para encontrar e remover e-mails duplicados, que primeiro classifica os e-mails por assunto, depois por hora de recebimento e depois por anexos para descobrir os itens duplicados e, por último, selecione os duplicados e pressione a tecla “Excluir”. Embora esse método seja aparentemente um pouco mais conveniente, é muito mais problemático em comparação com o uso do Outlook VBA. Com os seguintes códigos VBA, você pode remover rapidamente os itens duplicados com apenas um clique, independentemente de e-mails, tarefas, contatos ou compromissos. Agora continue lendo para obter os códigos em detalhes.

Remova os itens duplicados do Outlook em uma pasta
- Para% start com, inicie seu programa Outlook.
- Em seguida, pressione os botões de tecla "Alt + F11".
- Na janela subsequente do editor VBA, clique duas vezes para abrir um módulo que está em uso ou insira diretamente um novo módulo em “Inserir” > “Módulo”.
- Em seguida, copie e cole os seguintes códigos VBA no 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
- Depois disso, assine digitalmente esta macro e altere o nível de segurança de macro do Outlook para baixo.
- Mais tarde, você pode executar este novo projeto VBA. Clique diretamente no ícone "Executar" na barra de ferramentas.
- Posteriormente, você será solicitado a selecionar uma pasta onde deseja remover itens duplicados.
- Por fim, os itens duplicados na pasta selecionada serão excluídos de uma só vez.
Proteger dados PST vulneráveis
Devido ao fato de que o arquivo PST é suscetível à corrupção, você deve se esforçar muito para proteger seu arquivo PST. Por exemplo, você deve evitar que o Outlook seja fechado incorretamente. Além disso, você precisa preparar um robusto Correção do Outlook ferramenta, como DataNumen Outlook Repair que será capaz de salvar seu PST a tempo.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperar SQL Server e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com


