انتقل إلى المحتوى الرئيسي

Outlook: كيفية إزالة عناصر التقويم المكررة

في بعض الأحيان ، توجد بعض عناصر التقويم المكررة عندما نقوم باستيراد الأحداث من أجهزة أخرى. لإزالة عناصر التقويم المكررة ، يقدم هذا البرنامج التعليمي طريقتين مختلفتين ، واحدة تلو الأخرى عندما تكون التكرارات أقل ، والأخرى تستخدم VBA لإزالة جميع التكرارات مرة واحدة.

قم يدويًا بإزالة عناصر التقويم المكررة واحدًا تلو الآخر

VBA لإزالة عناصر التقويم المكررة مرة واحدة

علامة تبويب Office - تمكين التحرير والتصفح المبوب في Microsoft Office، مما يجعل العمل سهلاً
Kutools for Outlook - عزز Outlook بأكثر من 100 ميزة متقدمة لتحقيق كفاءة فائقة
عزز Outlook 2021 - 2010 أو Outlook 365 الخاص بك باستخدام هذه الميزات المتقدمة. استمتع بتجربة مجانية شاملة مدتها 60 يومًا وارفع مستوى تجربة بريدك الإلكتروني!

قم يدويًا بإزالة عناصر التقويم المكررة واحدًا تلو الآخر

 

لإزالة عناصر التقويم المكررة واحدًا تلو الآخر ، تحتاج إلى سردها بترتيب معين لعرض التكرارات بوضوح أولاً ، ثم إزالتها واحدة تلو الأخرى.

1. بشكل عام ، يكون التقويم بتنسيق التقويم السنوي عرض ، قم بتنشيط التقويم الذي تريد إزالة التكرارات ، ثم انقر فوق المزيد > تغيير العرض > قائمة.

قم بإزالة عناصر التقويم المكررة 1

الآن تم عرض التقويم كقائمة.

قم بإزالة عناصر التقويم المكررة 1

قم بإزالة عناصر التقويم المكررة 1

2. ثم حدد الشرط الذي تستخدمه للمقارنة إذا كانت العناصر مكررة ، بافتراض المقارنة إذا كانت العناصر لها نفس الموضوع. انقر SUBJECT في قائمة التقويم ، يتم وضع جميع العناصر التي لها نفس الموضوع معًا.

قم بإزالة عناصر التقويم المكررة 1

3. يمكنك الآن إزالة العناصر التي لها نفس الموضوع واحدًا تلو الآخر عن طريق النقر بزر الماوس الأيمن فوق العنصر والنقر حذف من قائمة السياق المنبثقة.

قم بإزالة عناصر التقويم المكررة 1


VBA لإزالة عناصر التقويم المكررة مرة واحدة

 

يقدم هنا بعض VBA التي يمكنها إزالة كافة عناصر التقويم المكررة في مجلد التقويم في حالات مختلفة.

1. صحافة قديم + F11 مفاتيح للتمكين ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

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 هذا ، ستزيل جميع التكرارات في "تاريخ"هذه الفئة من خلال مقارنة الموضوع والموقع والجسم والفئة ، يمكنك تغييرها حسب حاجتك.

قم بإزالة عناصر التقويم المكررة 1

3. ثم اضغط F5 مفتاح أو انقر فوق تشغيل لتشغيل التعليمات البرمجية ، مربع حوار وحدات الماكرو يخرج ، اختر إزالة DuplicateCalendar ثم انقر يجري قم بإزالة عناصر التقويم المكررة 1 .

قم بإزالة عناصر التقويم المكررة 1

ثم تمت إزالة العناصر المكررة في فئة "التاريخ".

فبا: قم بإزالة كافة عناصر التقويم المكررة عبر الفئات

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

قم بتشغيل هذا الرمز ، تمت إزالة جميع التكرارات الموجودة في نفس الموضوع والموقع والجسم والفئة في كل فئة.

قم بإزالة عناصر التقويم المكررة 1

قم بإزالة عناصر التقويم المكررة 1

ملاحظات: أعلاه يعمل VBA في مجلد التقويم يتضمن مجلد فرعي.


أفضل أدوات إنتاجية المكتب

كوتولس لتوقعات - أكثر من 100 ميزة قوية لتعزيز توقعاتك

🤖 مساعد بريد الذكاء الاصطناعي: رسائل بريد إلكتروني احترافية فورية مع سحر الذكاء الاصطناعي - بنقرة واحدة للردود العبقرية، والنغمة المثالية، وإتقان متعدد اللغات. تحويل البريد الإلكتروني دون عناء! ...

📧 أتمتة البريد الإلكتروني: خارج المكتب (متوفر لـ POP وIMAP)  /  جدولة إرسال رسائل البريد الإلكتروني  /  نسخة تلقائية/نسخة مخفية الوجهة حسب القواعد عند إرسال البريد الإلكتروني  /  إعادة التوجيه التلقائي (القواعد المتقدمة)   /  إضافة تحية تلقائية   /  تقسيم رسائل البريد الإلكتروني متعددة المستلمين تلقائيًا إلى رسائل فردية 

📨 إدارة البريد الإلكتروني: استدعاء رسائل البريد الإلكتروني بسهولة  /  حظر رسائل البريد الإلكتروني الاحتيالية حسب الموضوعات والآخرين  /  حذف رسائل البريد الإلكتروني المكررة  /  المزيد من خيارات البحث  /  توحيد المجلدات 

📁 المرفقات بروحفظ دفعة  /  فصل دفعة  /  ضغط دفعة  /  حفظ تلقائي   /  فصل تلقائي  /  ضغط تلقائي 

؟؟؟؟ واجهة ماجيك: 😊 المزيد من الرموز التعبيرية الجميلة والرائعة   /  عزز إنتاجية 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