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

 จะส่งข้อความอวยพรไปยังผู้ติดต่อโดยอัตโนมัติได้อย่างไรหากวันนี้วันเกิดของเขาอยู่ใน Outlook?

ในบางครั้งคุณอาจต้องการส่งข้อความทักทายโดยอัตโนมัติไปยังผู้ติดต่อเมื่อวันนี้เป็นวันเกิดของเขาใน Outlook มันจะเป็นงานที่น่าเบื่อเมื่อคุณตรวจสอบวันเกิดของผู้ติดต่อทีละคนและส่งอีเมลอวยพรด้วยตนเอง บทความนี้ผมจะแนะนำรหัส VBA เพื่อแก้ปัญหาได้อย่างรวดเร็วและง่ายดาย

ส่งข้อความทักทายโดยอัตโนมัติไปยังผู้ติดต่อตามวันเกิดของเขาด้วยรหัส VBA ใน Outlook


ส่งข้อความทักทายโดยอัตโนมัติไปยังผู้ติดต่อตามวันเกิดของเขาด้วยรหัส VBA ใน Outlook

หากต้องการส่งข้อความทักทายโดยอัตโนมัติไปยังผู้ติดต่อหากวันนี้เป็นวันเกิดของเขาให้ใส่รหัส VBA ก่อนจากนั้นคุณต้องสร้างงานที่เกิดซ้ำเพื่อเรียกใช้รหัส

ขั้นตอนต่อไปนี้อาจช่วยคุณได้:

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

2. ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน ดับเบิลคลิก นี้OutlookSession จาก โครงการ 1 (VbaProject.O ™) บานหน้าต่างเพื่อเปิดโหมดจากนั้นคัดลอกและวางรหัสต่อไปนี้ลงในโมดูลเปล่า

รหัส 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 สำหรับแอปพลิเคชัน ในหน้าต่างที่โผล่ออกมา เอกสารอ้างอิง - โครงการ 1 กล่องโต้ตอบตรวจสอบ ไลบรารีวัตถุ Microsoft Word และ รันไทม์การเขียนสคริปต์ของ Microsoft ตัวเลือกจากไฟล์ อ้างอิงที่มีอยู่ กล่องรายการดูภาพหน้าจอ:

4. จากนั้นคลิก OK เพื่อปิดกล่องโต้ตอบ ตอนนี้ คุณควรสร้างงานเพื่อทริกเกอร์โค้ด VBA กรุณาไปที่ งาน บานหน้าต่างคลิก งานใหม่ เพื่อสร้างงาน:

(1. ) ใน ซับเจคt line คุณควรใส่หัวเรื่องเป็น ส่งจดหมายอวยพรวันเกิด;

(2. ) จากนั้นคลิก การกลับมาอีก ภายใต้ งาน แท็บ;

(3. ) ใน งานที่เกิดซ้ำ ใหเลือก ทุกวัน และระบุ ทุก 1 วัน ตัวเลือกจาก รูปแบบการเกิดซ้ำ มาตรา;

5. จากนั้นคลิก OK เพื่อปิดกล่องโต้ตอบกลับไปที่หน้าต่างงานโปรดตั้งระบบเตือนสำหรับงานที่เกิดซ้ำดังภาพต่อไปนี้:

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

7. จากนั้นคลิก OK ปุ่ม จดหมายอวยพรจะถูกส่งไปยังผู้ติดต่อที่มีวันเกิดเป็นวันนี้โดยอัตโนมัติ


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

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

🤖 ผู้ช่วยจดหมาย AI: ส่งอีเมลระดับมืออาชีพทันทีด้วยเวทมนตร์ AI คลิกเพียงครั้งเดียวเพื่อตอบกลับอย่างชาญฉลาด น้ำเสียงที่สมบูรณ์แบบ การเรียนรู้หลายภาษา เปลี่ยนรูปแบบการส่งอีเมลอย่างง่ายดาย! ...

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

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

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

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

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

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

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

 

 

Comments (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Good morning,
I've set this up exactly as outlined, I have Kutools installed, however, there's no Macro popup when the reminder activates. What information can I provide you to help me solve this?
This comment was minimized by the moderator on the site
how he come to know who's birthday is today.you not mention, from where he pick detail of the employee.one more thing, i want to send birthday mail to all employee email id.
This comment was minimized by the moderator on the site
I am using this code with outlook 2016. Followed all the steps but kutool popup is not coming as mentioned in last step
This comment was minimized by the moderator on the site
hay alguna forma para mac?
This comment was minimized by the moderator on the site
Buen día, podría indicar cómo el código obtiene y valida la fecha de nacimiento??? . Otra consulta es si funciona para una lista de usuarios. Es decir que valide sus fechas de nacimiento y les envíe automáticamente saludos de cumpleaños. Muchas gracias
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations