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

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

ผู้เขียน: Xiaoyang แก้ไขล่าสุด: 2024-08-19

ในบางครั้งคุณอาจต้องการส่งข้อความทักทายโดยอัตโนมัติไปยังผู้ติดต่อเมื่อวันนี้เป็นวันเกิดของเขาใน 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 
ภาพหน้าจอของขั้นตอนเกี่ยวกับการใช้ vba เพื่อส่งข้อความทักทายไปยังผู้ติดต่อโดยอัตโนมัติหากวันเกิดของเขาคือวันนี้ใน Outlook 1

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

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

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

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

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

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

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

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


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

ข่าวด่วน: Kutools สำหรับ Outlook เปิดตัว เวอร์ชันฟรี!

สัมผัสประสบการณ์ Kutools ใหม่สำหรับ Outlook เวอร์ชันฟรีพร้อมฟีเจอร์ที่น่าทึ่งกว่า 70 รายการ ให้คุณใช้งานได้ตลอดไป! คลิกดาวน์โหลดเลย!

🤖 Kutools AI : ใช้เทคโนโลยี AI ขั้นสูงเพื่อจัดการอีเมลได้อย่างง่ายดาย รวมถึงการตอบกลับ การสรุป การเพิ่มประสิทธิภาพ การขยาย การแปล และการเขียนอีเมล

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

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

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

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

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

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

ปลดล็อค Kutools for Outlook ทันทีด้วยการคลิกเพียงครั้งเดียว—ฟรีอย่างถาวร- อย่ารอช้า ดาวน์โหลดตอนนี้และเพิ่มประสิทธิภาพของคุณ!

kutools สำหรับคุณสมบัติ Outlook1 kutools สำหรับคุณสมบัติ Outlook2