หากคุณต้องการรวมรายการทั้งหมดจากโฟลเดอร์ Outlook หลาย ๆ โฟลเดอร์และมั่นใจว่าจะไม่ซ้ำกันคุณสามารถใช้วิธีการที่แนะนำในบทความนี้ ใช้รหัส VBA เพื่อช่วยให้คุณทำสำเร็จได้เหมือนไม้ก๊อก

ในบางครั้งคุณอาจต้องการรวมรายการจากโฟลเดอร์ Outlook หลาย ๆ โฟลเดอร์เช่นการรวมผู้ติดต่อทั้งหมดของโฟลเดอร์ Outlook Contacts หลาย ๆ โฟลเดอร์ ในสถานการณ์นี้หากมีผู้ติดต่อที่ซ้ำกันระหว่างโฟลเดอร์เหล่านี้คุณต้องหวังว่ารายการที่ซ้ำกันจะถูกลบออกโดยอัตโนมัติในระหว่างการรวม ภายใต้สถานการณ์เช่นนี้คุณสามารถใช้รหัส VBA ต่อไปนี้เพื่อใช้งานได้อย่างง่ายดาย
รวมรายการจากหลายโฟลเดอร์โดยไม่ต้องทำซ้ำ
- ถึงtarเปิดแอปพลิเคชัน 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. ด้วยอัตราการกู้คืนที่สูงยูทิลิตี้นี้จึงได้รับความสนใจจากเพื่อน ๆ
บทนำผู้เขียน:
Shirley Zhang เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ sql ที่เสียหาย และผลิตภัณฑ์ซอฟต์แวร์ซ่อมแซมแนวโน้ม ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.

