Ако искате да обедините всички елементи от множество папки на Outlook и да не осигурите дублиране, можете да използвате метода, представен в тази статия. Той използва VBA код, за да ви помогне да го постигнете като корк.

Понякога може да искате да обедините елементи от няколко папки на Outlook, като обединяване на всички контакти на няколко папки с контакти на Outlook. В тази ситуация, ако сред тези папки има няколко дублирани контакта, трябва да се надявате, че дубликатите могат да бъдат премахнати автоматично по време на обединяването. При това обстоятелство можете да използвате следния код на VBA, за да го реализирате с лекота.
Обединете елементи от множество папки без дубликати
- Към starС, стартирайте приложението си Outlook.
- След това трябва да осъществите достъп до редактора на Outlook VBA, като натиснете бутона „Alt + F11“ в главния екран на Outlook.
- След това в прозореца „Microsoft Visual Basic for Applications“ трябва да отворите модул, който не се използва.
- След това трябва да копирате следния 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
- По-късно трябва да проверите настройките на макроса на Outlook, като се уверите, че макросът е активиран.
- Накрая можете да опитате.
- Първо, обратно към новия прозорец на модула.
- След това натиснете бутона F5, за да задействате този макрос.
- След това трябва да изберете двете папки, които да бъдат обединени. Първият е изходният, а вторият е tarВземи един.
- След това Outlook ще започне да премества всички елементи от папката източник в tarВземи един. Освен това дубликатите ще бъдат премахнати автоматично.
- В крайна сметка може да получите съобщение, подсказващо броя на премахнатите дубликати, като екранната снимка по-долу:
Малките грешки могат да доведат до големи сривове
Въпреки че е зареден с много отлични функции, Outlook все още е податлив на грешки и корупция. Може би сте срещали различни проблеми с Outlook. Много потребители са склонни да игнорират случайните грешки. Именно малката грешка предизвиква сериозни сривове в Outlook, което ще застраши файла на Outlook. По този начин не трябва да пренебрегвате малки грешки. Вместо това трябва да ги премахнете възможно най-скоро. Освен това, по-добре запазете подходяща PST ремонт инструмент, като DataNumen Outlook Repair. Благодарение на високата си степен на възстановяване, тази помощна програма се премества над своите връстници.
Въведение на автора:
Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително повреден sql и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com

