Kui soovite liita kõik üksused mitmest Outlooki kaustast ja tagada duplikaatide puudumine, võite kasutada selles artiklis kirjeldatud meetodit. See kasutab VBA-koodi, mis aitab teil seda teha nagu korgist.

Mõnikord võite soovida liita üksused mitmest Outlooki kaustast, näiteks liita mitme Outlooki kontaktide kausta kõik kontaktid. Sellises olukorras, kui nende kaustade hulgas on dubleeritud kontakte, peate lootma, et duplikaadid saab ühendamise ajal automaatselt eemaldada. Sel juhul saate selle hõlpsaks realiseerimiseks kasutada järgmist VBA-koodi.
Ühendage üksused mitmest kaustast ilma duplikaatideta
- Et start koos käivitage oma Outlooki rakendus.
- Seejärel peaksite pääsema juurde Outlooki VBA redaktorile, vajutades Outlooki põhiekraanil klahvi Alt + F11.
- Järgmisena peate aknas "Microsoft Visual Basic for Applications" avama mooduli, mida ei kasutata.
- Pärast seda peaksite sellesse moodulisse kopeerima järgmise VBA koodi.
'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
- Hiljem peate oma Outlooki makro seadeid kontrollima, veendumaks, et makro on lubatud.
- Lõpuks saate proovida.
- Esiteks, tagasi uue mooduli aknasse.
- Järgmisena vajutage selle makro käivitamiseks klahvi F5.
- Seejärel peate valima kaks ühendatavat kausta. Esimene on allikas ja teine on allikas tarvõta üks.
- Pärast seda hakkab Outlook kõiki üksusi lähtekaustast teisaldama tarvõta üks. Samuti eemaldatakse vahepeal duplikaadid automaatselt.
- Lõppkokkuvõttes võite saada teate, mis küsib eemaldatud duplikaatide arvu, nagu alloleval ekraanipildil.
Väikesed vead võivad põhjustada suuri krahhe
Vaatamata suurepärastele funktsioonidele on Outlook endiselt vastuvõtlik vigadele ja korruptsioonile. Võib-olla olete kokku puutunud erinevate Outlooki probleemidega. Paljud kasutajad kalduvad juhuslikke vigu ignoreerima. Kuid see väike viga põhjustab tõsiseid Outlooki krahhe, mis ohustab Outlooki faili. Seetõttu ei tohiks te tähelepanuta jätta väikseid vigu. Selle asemel peaksite need võimalikult kiiresti kõrvaldama. Lisaks on parem hoida apt PST remont tööriist, näiteks DataNumen Outlook Repair. Tänu oma kõrgele taastemäärale on see utiliit oma kaaslastest üle astunud.
Autori sissejuhatus:
Shirley Zhang on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas rikutud sql ja Outlooki remonditarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom

