Ako želite spojiti sve stavke iz više Outlook mapa i osigurati da nema duplikata, možete koristiti metodu predstavljenu u ovom članku. Koristi VBA kod da vam pomogne da to postignete kao čep.

Ponekad ćete možda poželjeti spojiti stavke iz nekoliko Outlook foldera, kao što je spajanje svih kontakata iz nekoliko Outlook foldera kontakata. U ovoj situaciji, ako postoje neki duplicirani kontakti među ovim folderima, morate se nadati da se duplikati mogu automatski ukloniti tokom spajanja. Pod ovim okolnostima, možete koristiti sljedeći VBA kod da biste ga realizirali s lakoćom.
Spoji stavke iz više fascikli bez duplikata
- Za start sa, pokrenite svoju Outlook aplikaciju.
- Zatim biste trebali pristupiti Outlook VBA uređivaču pritiskom na tipku “Alt + F11” na glavnom ekranu programa Outlook.
- Zatim, u prozoru "Microsoft Visual Basic za aplikacije", morate otvoriti modul koji se ne koristi.
- Nakon toga, trebali biste kopirati sljedeći VBA kod u ovaj modul.
'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
- Kasnije morate provjeriti postavke makronaredbe Outlooka, osiguravajući da je makro omogućen.
- Konačno možete probati.
- Prvo, vratite se na novi prozor modula.
- Zatim pritisnite dugme F5 da pokrenete ovaj makro.
- Zatim morate odabrati dvije mape koje želite spojiti. Prvi je izvorni, a drugi je taruzmi jedan.
- Nakon toga, Outlook će početi premještati sve stavke iz izvorne mape u taruzmi jedan. Takođe, u međuvremenu, duplikati će biti automatski uklonjeni.
- Na kraju, možda ćete primiti poruku koja traži broj uklonjenih duplikata, kao na slici ispod:
Male greške mogu dovesti do velikih padova
Uprkos velikom broju odličnih funkcija, Outlook je i dalje podložan greškama i oštećenjima. Možda ste naišli na razne probleme sa Outlookom. Mnogi korisnici su skloni da ignorišu slučajne greške. Međutim, to je mala greška koja pokreće ozbiljne padove Outlooka, što će ugroziti Outlook datoteku. Dakle, ne biste trebali zanemariti nijednu sitnu grešku. Umjesto toga, trebali biste ih ukloniti što je prije moguće. Osim toga, bolje je zadržati stan PST repair alat, kao npr DataNumen Outlook Repair. Zahvaljujući visokoj stopi oporavka, ovaj program je nadmašio svoje kolege.
Uvod za autora:
Shirley Zhang je stručnjak za oporavak podataka DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući oštećen sql i Outlook softverski proizvodi za popravku. Za više informacija posjetite www.datanumen.com

