Как быстро объединить элементы из нескольких папок без дубликатов в Outlook

Поделись сейчас:

Если вы хотите объединить все элементы из нескольких папок Outlook и избежать дублирования, вы можете использовать метод, представленный в этой статье. Он использует код VBA, чтобы помочь вам сделать это, как пробка.

Быстро объединяйте элементы из нескольких папок без дубликатов в Outlook

Иногда вам может понадобиться объединить элементы из нескольких папок Outlook, например, объединить все контакты из нескольких папок контактов Outlook. В этой ситуации, если среди этих папок есть дубликаты контактов, вы должны надеяться, что дубликаты могут быть удалены автоматически при объединении. В этом случае вы можете использовать следующий код VBA, чтобы легко реализовать его.

Объединение элементов из нескольких папок без дубликатов

  1. Для начала запустите приложение Outlook.
  2. Затем вы должны получить доступ к редактору Outlook VBA, нажав кнопку «Alt + F11» на главном экране Outlook.
  3. Далее в окне «Microsoft Visual Basic для приложений» нужно открыть неиспользуемый модуль.
  4. После этого вы должны скопировать следующий код VBA в этот модуль.
'Here we take "merging two folders" as an example
Sub MergeOutlookFolders_WithoutDuplicates()
    Dim objSourceFolder As Outlook.Folder
    Dim objTargetFolder As Outlook.Folder
    Dim i, n, x As Long
    Dim objItem As Object
    Dim objDictionary As Object
    Dim strKey As String
 
    Set objSourceFolder = Application.Session.PickFolder
    Set objTargetFolder = Application.Session.PickFolder

    If objSourceFolder.DefaultItemType <> objTargetFolder.DefaultItemType Then
       MsgBox "Error: The two folders are not in same type!", vbExclamation + vbOKOnly
    Else
       'Merge the two folders
       For i = objSourceFolder.Items.count To 1 Step -1
           Set objItem = objSourceFolder.Items.Item(i)
           objItem.Move objTargetFolder
       Next i
 
       Set objDictionary = CreateObject("scripting.dictionary")
 
       'Remove the duplicates
       x = 0
       For n = objTargetFolder.Items.count To 1 Step -1
           Set objItem = objTargetFolder.Items.Item(n)
 
           Select Case objItem.Class
                  Case olMail
                       strKey = objItem.Subject & "," & objItem.Body & "," & objItem.SentOn
                  Case olAppointment
                       strKey = objItem.Subject & "," & objItem.Start & "," & objItem.Duration & "," & objItem.Location & "," & objItem.Body
                  Case olContact
                       strKey = objItem.FullName & "," & objItem.Email1Address & "," & objItem.Email2Address & "," & objItem.Email3Address
                  Case olTask
                       strKey = objItem.Subject & "," & objItem.StartDate & "," & objItem.DueDate & "," & objItem.Body
           End Select
 
           strKey = Replace(strKey, ", ", Chr(32))
 
           If objDictionary.Exists(strKey) = True Then
              objItem.Delete
              x = x + 1
           Else
              objDictionary.Add strKey, True
           End If
      Next n
 
      'Prompt you of the count of removed duplicates
      If x <> 0 Then
         MsgBox x & " duplicates removed when merging!", vbInformation + vbOKOnly
      End If
    End If
End Sub

Код VBA - объединение элементов из нескольких папок без дубликатов

  1. Позже вам нужно проверить настройки макроса Outlook, чтобы убедиться, что макрос включен.
  2. Наконец-то можно попробовать.
  • Во-первых, вернемся к окну нового модуля.
  • Затем нажмите кнопку F5, чтобы запустить этот макрос.
  • Затем необходимо выбрать две папки для объединения. Первая — исходная, а вторая — целевая.
  • После этого Outlook начнет перемещать все элементы из исходной папки в целевую. При этом дубликаты будут автоматически удалены.
  • В конечном итоге вы можете получить сообщение с подсчетом удаленных дубликатов, как на снимке экрана ниже:Сообщение, запрашивающее количество удаленных дубликатов

Крошечные ошибки могут привести к большим авариям

Несмотря на то, что Outlook загружен множеством отличных функций, он по-прежнему подвержен ошибкам и повреждениям. Возможно, вы столкнулись с различными проблемами Outlook. Многие пользователи склонны игнорировать случайные ошибки. Однако именно крошечная ошибка вызывает серьезные сбои Outlook, которые могут поставить под угрозу файл Outlook. Таким образом, вы не должны игнорировать любые мелкие ошибки. Вместо этого вы должны устранить их как можно скорее. Кроме того, вам лучше сохранить ремонт PST инструмент, такой как DataNumen Outlook Repair. Благодаря высокой скорости восстановления эта утилита опережает своих конкурентов.

Об авторе:

Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая поврежденный sql и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.