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


🚀 تنزيل بنقرة واحدة — احصل على جميع إضافات Office
موصى به بقوة: Kutools لـ Office (خمسة في واحد)
بنقرة واحدة يمكنك تنزيل خمسة برامج تثبيت مرة واحدة — Kutools لـ Excel وOutlook وWord وPowerPoint وOffice Tab Pro. انقر لتنزيل الآن!
- ✅ سهولة بنقرة واحدة: قم بتنزيل جميع حزم التثبيت الخمسة دفعة واحدة.
- 🚀 جاهز لأي مهمة في Office: ثبّت الإضافات التي تحتاجها وقتما تشاء.
- 🧰 يتضمن: Kutools لـ Excel / Kutools لـ Outlook / Kutools لـ Word / Office Tab Pro / Kutools لـ PowerPoint