كيف يمكنك إرسال رسالة تهنئة تلقائيًا إلى جهة اتصال إذا كان اليوم هو عيد ميلادها في Outlook؟
أحيانًا، قد ترغب في إرسال رسالة تهنئة تلقائيًا إلى جهة الاتصال عندما يكون اليوم هو عيد ميلادها في Outlook. سيكون هذا العمل شاقًا إذا كنت تتحقق من أعياد الميلاد يدويًا واحدة تلو الأخرى وتقوم بإرسال رسائل التهنئة يدويًا. في هذه المقالة، سأقدم لك كود VBA لحل هذه المشكلة بسرعة وسهولة.
إرسال رسالة تهنئة تلقائيًا إلى جهة اتصال بناءً على عيد ميلادها باستخدام كود VBA في Outlook
إرسال رسالة تهنئة تلقائيًا إلى جهة اتصال بناءً على عيد ميلادها باستخدام كود VBA في Outlook
لإرسال رسالة تهنئة تلقائيًا إلى جهة اتصال إذا كان اليوم هو عيد ميلادها، قم أولاً بإدراج كود VBA، ثم تحتاج إلى إنشاء مهمة متكررة لتفعيل الكود.
قد تساعدك الخطوات التالية:
1. قم بتشغيل Outlook، ثم اضغط مع الاستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. في نافذة Microsoft Visual Basic for Applications، انقر نقرًا مزدوجًا على ThisOutlookSession من لوحة Project1(VbaProject.OTM) لفتح النموذج، ثم قم بنسخ ولصق الكود التالي في الوحدة الفارغة.
كود VBA: إرسال رسالة تهنئة تلقائيًا إلى جهة اتصال بناءً على عيد الميلاد:
Private Sub Application_Reminder(ByVal Item As Object)
Dim xTempMail As MailItem
Dim xFilePath As String
Dim xItems As Outlook.Items
Dim xItem As Object
Dim xContactItem As Outlook.ContactItem
Dim xTodayDate As String
Dim xBirthdayDate As String
Dim xGreetingMail As Outlook.MailItem
Dim xWordDoc As Word.Document
Dim xGreetings As String
Dim xBool As Boolean
xFilePath = CreateObject("shell.Application").NameSpace(5).self.Path & "\UserTemplates"
Set xFSO = CreateObject("Scripting.FileSystemObject")
If xFSO.FolderExists(xFilePath) = False Then
MkDir xFilePath
End If
If IsFileExists(xFilePath & "\Birthday Greeting Mail.oft") = False Then
Set xTempMail = Outlook.CreateItem(olMailItem)
xTempMail.SaveAs xFilePath & "\Birthday Greeting Mail.oft", olTemplate
xTempMail.Close olDiscard
End If
If (TypeOf Item Is TaskItem) And (Item.Subject = "Send Birthday Greeting Mail") Then
xGreetings = "Happy Birthday!"
xGreetings = InputBox("Input birthday greetings", "Kutools for Outlook", xGreetings)
xTodayDate = Month(Date) & "-" & Day(Date)
Set xItems = Outlook.Application.Session.GetDefaultFolder(olFolderContacts).Items
For Each xItem In xItems
If Not (TypeOf xItem Is ContactItem) Then Exit Sub
Set xContactItem = xItem
xBirthdayDate = Month(xContactItem.Birthday) & "-" & Day(xContactItem.Birthday)
If xBirthdayDate = xTodayDate Then
Set xGreetingMail = Outlook.Application.CreateItemFromTemplate(xFilePath & "\Birthday Greeting Mail.oft")
Set xWordDoc = xGreetingMail.GetInspector.WordEditor
xWordDoc.Range.InsertBefore "Dear " & xContactItem.LastName & Chr(10) & xGreetings & Chr(10) & Chr(10)
With xGreetingMail
.Recipients.Add (xContactItem.Email1Address)
.Subject = "Happy Birthday!"
.Display
.Close (olSave)
.Send
End With
End If
Next
End If
End Sub
Function IsFileExists(ByVal FileName As String) As Boolean
Dim xFileSystem As Object
Set xFileSystem = CreateObject("Scripting.FileSystemObject")
If xFileSystem.FileExists(FileName) = True Then
IsFileExists = True
Else
IsFileExists = False
End If
End Function

3. بعد ذلك، انقر فوق أدوات > مراجع في نافذة Microsoft Visual Basic for Applications، في مربع الحوار المنبثق References-Project1، حدد خياري Microsoft Word Object Library و Microsoft Scripting Runtime من قائمة المراجع المتاحة، كما هو موضح في الصورة التالية:

4. بعد ذلك، انقر فوق موافق لإغلاق مربع الحوار، الآن يجب أن تقوم بإنشاء مهمة لتفعيل كود VBA. يرجى الانتقال إلى لوحة المهام، وانقر فوق مهمة جديدة لإنشاء مهمة:
(1.) في سطر الموضوع، يجب عليك إدخال الموضوع كـ إرسال بريد تهنئة بعيد الميلاد؛
(2.) ثم انقر فوق تكرار أسفل علامة التبويب المهمة؛
(3.) في مربع حوار نمط التكرار للمهمة، حدد يوميًا وحدد الخيار كل 1 أيام من قسم نمط التكرار؛

5. بعد ذلك، انقر فوق موافق لإغلاق مربع الحوار، والعودة إلى نافذة المهمة، يرجى تعيين تذكير للمهمة المتكررة كما هو موضح في الصورة التالية:

6. من الآن فصاعدًا، عند ظهور التذكير، سيتم تشغيل الماكرو فورًا. سيظهر مربع حوار ينبهك لإدراج التهاني بعيد الميلاد كما هو موضح في الصورة التالية:

7. بعد ذلك، انقر فوق زر موافق، وسيتم إرسال بريد تهنئة تلقائيًا إلى جهة الاتصال التي يصادف عيد ميلادها اليوم.
أفضل أدوات الإنتاجية لمجموعة Office
خبر عاجل: أدوات Kutools لـ Outlook تطلق إصدارًا مجانيًا!
جرّب الآن الإصدار المجاني الجديد كليًا من أدوات Kutools لـ Outlook مع أكثر من70 ميزة مذهلة، متاحة لك مدى الحياة! انقر للتحميل الآن!
📧 أتمتة البريد الإلكتروني: الرد التلقائي (متوفر لـ POP وIMAP) / جدولة إرسال البريد / نسخة تلقائية/مخفية حسب القواعد عند الإرسال / التحويل التلقائي (قاعدة متقدمة) / إضافة التحية تلقائيًا / تقسيم رسائل البريد الإلكتروني متعددة المستلمين تلقائيًا إلى رسائل فردية ...
📨 إدارة البريد الإلكتروني: استدعاء البريد الإلكتروني / حظر رسائل الاحتيال حسب الموضوعات وغيرها / حذف الرسائل المكررة / البحث المتقدم / تنظيم المجلدات ...
📁 المرفقات الاحترافية: حفظ دفعي / فصل دفعي / ضغط دفعي / حفظ تلقائي / تفصيل تلقائي / ضغط تلقائي ...
🌟 سحر الواجهة: 😊 المزيد من الرموز التعبيرية الجميلة والرائعة / تنبيهك عند وصول رسائل هامة / تصغير Outlook بدلاً من الإغلاق ...
👍 ميزات بنقرة واحدة: الرد على الجميع مع المرفقات / رسائل البريد الإلكتروني المضادة للتصيد / 🕘 عرض المنطقة الزمنية للمرسل ...
👩🏼🤝👩🏻 جهات الاتصال والتقويم: إضافة جهات اتصال دفعة واحدة من الرسائل المحددة / تقسيم مجموعة جهات الاتصال إلى مجموعات فردية / إزالة تذكير عيد الميلاد ...
افتح أدوات Kutools لـ Outlook فورًا بنقرة واحدة. لا تنتظر، قم بالتحميل الآن وزد من إنتاجيتك!

