Skip to main content

كيفية حساب وعرض الأعمار بناءً على أعياد الميلاد في تقويم Outlook؟

Author: Kelly Last Modified: 2025-08-06

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

احسب واعرض الأعمار بناءً على أعياد الميلاد في تقويم Outlook

the screenshot of calculating age by birthdays in outlook

احسب واعرض الأعمار بناءً على أعياد الميلاد في تقويم Outlook

لحساب عمر كل جهة اتصال وعرض العمر في موضوع الموعد المتكرر المرتبط في تقويم Outlook، يرجى القيام بما يلي:

1. افتح مجلد التقويم الافتراضي، واضغط على مفتاحي "Alt" + "F11" لفتح نافذة "Microsoft Visual Basic for Applications".

2. انقر فوق "إدراج" > "وحدة"، ثم قم بلصق الكود التالي لـ VBA في نافذة الوحدة الجديدة.

VBA: احسب واعرض أعمار جهات الاتصال في تقويم Outlook

Option Explicit
Public Sub UpdateAges()
Dim xOlApp As Outlook.Application
Dim xOlFolder As Outlook.Folder
Dim xOlItems As Outlook.Items
Dim xAppointmentItem As AppointmentItem
Dim xAge As Integer
Dim xOlProp As Outlook.UserProperty
Set xOlApp = Outlook.Application
Set xOlFolder = Session.GetDefaultFolder(olFolderCalendar)
Set xOlItems = xOlFolder.Items
For Each xAppointmentItem In xOlItems
If (InStr(1, xAppointmentItem.Subject, "Birthday") Or InStr(1, xAppointmentItem.Subject, "Anniversary")) And xAppointmentItem.IsRecurring = True Then
With xAppointmentItem
If xAppointmentItem.UserProperties("Original Subject") Is Nothing Then
Set xOlProp = xAppointmentItem.UserProperties.Add("Original Subject", olText, True)
xOlProp.Value = .Subject
.Save
End If
xAge = DateDiff("yyyy", .Start, Date)
.Subject = .UserProperties("Original Subject") & " (" & xAge & " in " & Format(Date, "yyyy") & ")"
.Save
End With
End If
Next
Set xAppointmentItem = Nothing
Set xOlItems = Nothing
Set xOlFolder = Nothing
Set xOlApp = Nothing
End Sub

3. اضغط على "F5" أو انقر فوق زر "تشغيل" لتنفيذ VBA.

عندما تعود إلى التقويم الافتراضي، سترى عمر كل جهة اتصال تم حسابه وعرضه في موضوع موعد عيد الميلاد المتكرر. انظر لقطة الشاشة:

the screenshot of step about calculating age by birthdays in outlook 1

ملاحظات:
(1) في موضوع موعد عيد الميلاد المتكرر لجهة الاتصال، يتم عرض عمر جهة الاتصال داخل قوسين، مثل (41 في 2017)، حيث 41 هو العمر و2017 هو العام الحالي.
(2) إذا قمت بتغيير عيد ميلاد جهة اتصال في مجلد جهات الاتصال، سيتم إزالة العمر المعروض من التقويم تلقائيًا.
(3) يعمل هذا الكود VBA فقط مع تقويم Outlook الافتراضي.


مقالات ذات صلة


أفضل أدوات إنتاجية أوفيس

أخبار عاجلة: أدوات Kutools لـ Outlook تطلق إصدارًا مجانيًا!

اختبر أدوات Kutools لـ Outlook الجديدة كليًا مع أكثر من100 ميزة مذهلة! انقر لتحميلها الآن!

🤖 Kutools AI : يستخدم تقنية الذكاء الاصطناعي المتقدمة لإدارة البريد الإلكتروني بسهولة، بما في ذلك الرد، التلخيص، التحسين، التوسيع، الترجمة، وإنشاء الرسائل.

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

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

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

🌟 سحر الواجهة: 😊 المزيد من الرموز التعبيرية الجميلة والمميزة / تذكير عند وصول البريد الهام / تصغير Outlook بدل الإغلاق...

👍 ميزات بضغطة واحدة: الرد على الجميع مع المرفقات / الحماية من التصيد الاحتيالي / 🕘 عرض المنطقة الزمنية للمرسل...

👩🏼‍🤝‍👩🏻 جهات الاتصال والتقويم: إضافة جهات الاتصال دفعة واحدة من الرسائل المحددة / تقسيم مجموعة جهات الاتصال إلى مجموعات فردية / إزالة تذكير عيد الميلاد...

استخدم أدوات Kutools بلغتك المفضلة – يدعم الإنجليزية، الإسبانية، الألمانية، الفرنسية، الصينية، وأكثر من40 لغة أخرى!

افتح أدوات Kutools لـ Outlook فوراً بنقرة واحدة. لا تنتظر، حمِّله الآن وحقق كفاءة أعلى!

kutools for outlook features1 kutools for outlook features2