ไปยังเนื้อหาหลัก

Outlook: วิธีลบรายการปฏิทินที่ซ้ำกัน

บางครั้ง มีบางรายการในปฏิทินที่ซ้ำกันเมื่อเรานำเข้ากิจกรรมจากอุปกรณ์อื่น ในการลบรายการปฏิทินที่ซ้ำกัน บทช่วยสอนนี้จะแนะนำวิธีการที่แตกต่างกันสองวิธี วิธีแรกคือการลบทีละรายการเมื่อมีรายการที่ซ้ำกันน้อยกว่า อีกวิธีหนึ่งใช้ VBA เพื่อลบรายการที่ซ้ำกันทั้งหมดในคราวเดียว

ลบรายการปฏิทินที่ซ้ำกันด้วยตนเองทีละรายการ

VBA เพื่อลบรายการปฏิทินที่ซ้ำกันในครั้งเดียว

Office Tab - เปิดใช้งานการแก้ไขแบบแท็บและการเรียกดูใน Microsoft Office ทำให้งานเป็นเรื่องง่าย
Kutools for Outlook - เพิ่ม Outlook ด้วยฟีเจอร์ขั้นสูงกว่า 100+ รายการเพื่อประสิทธิภาพที่เหนือกว่า
เพิ่มประสิทธิภาพ Outlook 2021 - 2010 หรือ Outlook 365 ของคุณด้วยฟีเจอร์ขั้นสูงเหล่านี้ เพลิดเพลินกับการทดลองใช้ฟรี 60 วันและยกระดับประสบการณ์อีเมลของคุณ!

ลบรายการปฏิทินที่ซ้ำกันด้วยตนเองทีละรายการ

 

หากต้องการลบรายการปฏิทินที่ซ้ำกันทีละรายการ คุณต้องแสดงรายการตามลำดับเฉพาะเพื่อดูรายการที่ซ้ำกันอย่างชัดเจนก่อน แล้วจึงนำออกทีละรายการ

1. โดยทั่วไป ปฏิทินจะอยู่ใน a ปฏิทิน ดู เปิดใช้งานปฏิทินที่คุณต้องการลบรายการที่ซ้ำกัน จากนั้นคลิก รายละเอียด > เปลี่ยนมุมมอง > รายการ.

doc ลบรายการปฏิทินที่ซ้ำกัน 1

ตอนนี้ปฏิทินถูกดูเป็นรายการแล้ว

doc ลบรายการปฏิทินที่ซ้ำกัน 1

doc ลบรายการปฏิทินที่ซ้ำกัน 1

2. จากนั้นระบุเงื่อนไขที่คุณใช้เปรียบเทียบว่ารายการนั้นซ้ำกันหรือไม่ สมมติว่ารายการนั้นมีหัวข้อเดียวกันหรือไม่ คลิก SUBJECT ในรายการปฏิทิน จากนั้นรายการทั้งหมดที่มีหัวเรื่องเดียวกันจะถูกวางรวมกัน

doc ลบรายการปฏิทินที่ซ้ำกัน 1

3. ตอนนี้คุณสามารถลบรายการที่มีหัวเรื่องเดียวกันได้ทีละรายการโดยคลิกขวาที่รายการแล้วคลิก ลบ จากเมนูบริบทที่แสดงขึ้นมา

doc ลบรายการปฏิทินที่ซ้ำกัน 1


VBA เพื่อลบรายการปฏิทินที่ซ้ำกันในครั้งเดียว

 

แนะนำ VBA บางส่วนซึ่งสามารถลบรายการปฏิทินที่ซ้ำกันทั้งหมดในโฟลเดอร์ปฏิทินในกรณีต่างๆ

1 กด อื่น ๆ + F11 คีย์เพื่อเปิดใช้งาน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 คลิก สิ่งที่ใส่เข้าไป > โมดูล เพื่อสร้างโมดูลเปล่าใหม่ จากนั้นคัดลอกและวางโค้ดด้านล่างลงในโมดูล

VBA: ลบรายการปฏิทินที่ซ้ำกันทั้งหมดในหมวดหมู่เดียว

'Sub RemoveDuplicateCalendar()
'UpdatebyExtendoffice20220413
  Dim xStores As Stores
  Dim xStore As Store
  Dim xRootFolder As Folder
  Dim xFolder As Object
  Set xStores = Application.Session.Stores
  For Each xStore In xStores
    Set xRootFolder = xStore.GetRootFolder
    For Each xFolder In xRootFolder.Folders
      Call ProcessFolders(xFolder)
    Next
  Next
  Set xStores = Nothing
End Sub

Sub ProcessFolders(ByVal CurrentFld As Folder)
  Dim xDictionary As Object
  Dim i As Long
  Dim xItem As Object
  Dim xKey As String
  Dim xSubFld As Folder
  On Error Resume Next
  If CurrentFld.DefaultItemType <> olAppointmentItem Then Exit Sub
  Set xDictionary = CreateObject("Scripting.Dictionary")
  For i = CurrentFld.Items.Count To 1 Step -1
    Set xItem = CurrentFld.Items.Item(i)
    'change categories as you need in below script
    If xItem.Categories = "date" Then
    'change the comparing items as you need
      xKey = xItem.Subject & xItem.Location & xItem.Body & xItem.Categories
      If xDictionary.Exists(xKey) = True Then
        xItem.Delete
      Else
        xDictionary.Add xKey, True
      End If
    End If
  Next i
  For Each xSubFld In CurrentFld.Folders
    ProcessFolders xSubFld
  Next
End Sub

ใน VBA นี้จะลบรายการที่ซ้ำกันทั้งหมดใน “ข้อมูล” หมวดหมู่นี้โดยการเปรียบเทียบเรื่อง สถานที่ เนื้อหา และหมวดหมู่ คุณสามารถเปลี่ยนได้ตามต้องการ

doc ลบรายการปฏิทินที่ซ้ำกัน 1

3. จากนั้นกด F5 คีย์หรือคลิกเรียกใช้เพื่อเรียกใช้รหัสกล่องโต้ตอบ แมโคร โผล่ออกมาเลือก ลบDuplicateCalendar และคลิก วิ่ง doc ลบรายการปฏิทินที่ซ้ำกัน 1 .

doc ลบรายการปฏิทินที่ซ้ำกัน 1

จากนั้นรายการที่ซ้ำกันในหมวด "วันที่" จะถูกลบออก

VBA: ลบรายการปฏิทินที่ซ้ำกันทั้งหมดในหมวดหมู่

Sub RemoveDuplicateCalendar()
'UpdatebyExtendoffice20220413
  Dim xStores As Stores
  Dim xStore As Store
  Dim xRootFolder As Folder
  Dim xFolder As Object
  Set xStores = Application.Session.Stores
  For Each xStore In xStores
    Set xRootFolder = xStore.GetRootFolder
    For Each xFolder In xRootFolder.Folders
      Call ProcessFolders(xFolder)
    Next
  Next
  Set xStores = Nothing
End Sub

Sub ProcessFolders(ByVal CurrentFld As Folder)
  Dim xDictionary As Object
  Dim i As Long
  Dim xItem As Object
  Dim xKey As String
  Dim xSubFld As Folder
  On Error Resume Next
  If CurrentFld.DefaultItemType <> olAppointmentItem Then Exit Sub
  Set xDictionary = CreateObject("Scripting.Dictionary")
  For i = CurrentFld.Items.Count To 1 Step -1
    Set xItem = CurrentFld.Items.Item(i)
    'change the comparing items as you need
      xKey = xItem.Subject & xItem.Location & xItem.Body & xItem.Categories
      If xDictionary.Exists(xKey) = True Then
        xItem.Delete
      Else
        xDictionary.Add xKey, True
      End If
  Next i
  For Each xSubFld In CurrentFld.Folders
    ProcessFolders xSubFld
  Next
End Sub

เรียกใช้รหัสนี้ รายการที่ซ้ำกันทั้งหมดที่อยู่ในหัวเรื่อง สถานที่ เนื้อหา หมวดหมู่ในแต่ละหมวดหมู่จะถูกลบออก

doc ลบรายการปฏิทินที่ซ้ำกัน 1

doc ลบรายการปฏิทินที่ซ้ำกัน 1

หมายเหตุ: VBA ด้านบนทำงานในโฟลเดอร์ปฏิทินรวมถึงโฟลเดอร์ย่อย


สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

Kutools สำหรับ Outlook - คุณสมบัติอันทรงพลังมากกว่า 100 รายการเพื่อเติมพลังให้กับ Outlook ของคุณ

📧 การทำงานอัตโนมัติของอีเมล: ไม่อยู่ที่สำนักงาน (ใช้ได้กับ POP และ IMAP)  /  กำหนดการส่งอีเมล  /  Auto CC/BCC ตามกฎเมื่อส่งอีเมล  /  ส่งต่ออัตโนมัติ (กฎขั้นสูง)   /  เพิ่มคำทักทายอัตโนมัติ   /  แบ่งอีเมลผู้รับหลายรายออกเป็นข้อความส่วนตัวโดยอัตโนมัติ ...

📨 การจัดการอีเมล์: เรียกคืนอีเมลได้อย่างง่ายดาย  /  บล็อกอีเมลหลอกลวงตามหัวเรื่องและอื่นๆ  /  ลบอีเมลที่ซ้ำกัน  /  การค้นหาขั้นสูง  /  รวมโฟลเดอร์ ...

📁 ไฟล์แนบโปรบันทึกแบทช์  /  การแยกแบทช์  /  การบีบอัดแบบแบตช์  /  บันทึกอัตโนมัติ   /  ถอดอัตโนมัติ  /  บีบอัดอัตโนมัติ ...

🌟 อินเตอร์เฟซเมจิก: 😊อีโมจิที่สวยและเจ๋งยิ่งขึ้น   /  เพิ่มประสิทธิภาพการทำงาน Outlook ของคุณด้วยมุมมองแบบแท็บ  /  ลดขนาด Outlook แทนที่จะปิด ...

???? เพียงคลิกเดียวสิ่งมหัศจรรย์: ตอบกลับทั้งหมดด้วยไฟล์แนบที่เข้ามา  /   อีเมลต่อต้านฟิชชิ่ง  /  🕘 แสดงโซนเวลาของผู้ส่ง ...

👩🏼‍🤝‍👩🏻 รายชื่อและปฏิทิน: แบทช์เพิ่มผู้ติดต่อจากอีเมลที่เลือก  /  แบ่งกลุ่มผู้ติดต่อเป็นกลุ่มแต่ละกลุ่ม  /  ลบการแจ้งเตือนวันเกิด ...

เกิน คุณสมบัติ 100 รอการสำรวจของคุณ! คลิกที่นี่เพื่อค้นพบเพิ่มเติม

 

 

Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Sadly neither of these work
This comment was minimized by the moderator on the site
I have tested the code and both of them work, What is your problem?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations