Bỏ qua nội dung chính

 Làm cách nào để tự động gửi tin nhắn chúc mừng đến một liên hệ nếu hôm nay sinh nhật của anh ta trong Outlook?

Đôi khi, bạn có thể muốn tự động gửi tin nhắn chúc mừng đến liên hệ khi sinh nhật của họ hôm nay trong Outlook. Sẽ là một công việc tẻ nhạt khi bạn kiểm tra sinh nhật của người liên hệ từng người một và gửi email chúc mừng theo cách thủ công. Bài viết này, tôi sẽ giới thiệu một mã VBA để giải quyết nó một cách nhanh chóng và dễ dàng.

Tự động gửi tin nhắn chúc mừng đến một liên hệ dựa trên ngày sinh của anh ấy bằng mã VBA trong Outlook


Tự động gửi tin nhắn chúc mừng đến một liên hệ dựa trên ngày sinh của anh ấy bằng mã VBA trong Outlook

Để tự động gửi tin nhắn chúc mừng tới một liên hệ nếu hôm nay là sinh nhật của người đó, trước tiên hãy chèn mã VBA, sau đó bạn cần tạo tác vụ lặp lại để kích hoạt mã.

Các bước sau có thể giúp bạn:

1. Khởi chạy Outlook, rồi nhấn giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp đúp ĐâyOutlookSession từ Project1 (VbaProject.OTM) để mở chế độ, sau đó sao chép và dán mã sau vào mô-đun trống.

Mã VBA: Tự động gửi tin nhắn chúc mừng đến một số liên lạc dựa trên ngày sinh:

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. Sau đó, clcik CÔNG CỤ > dự án trong Microsoft Visual Basic cho các ứng dụng cửa sổ, trong cửa sổ bật ra Tài liệu tham khảo-Dự án1 hộp thoại, kiểm tra Thư viện đối tượng Microsoft WordThời gian chạy tập lệnh của Microsoft các tùy chọn từ Tài liệu tham khảo có sẵn hộp danh sách, xem ảnh chụp màn hình:

4. Sau đó nhấn vào OK để đóng hộp thoại, bây giờ, bạn nên tạo một tác vụ để kích hoạt mã VBA. Vui lòng đi đến Nhiệm vụ pane, click Nhiệm vụ mới để tạo một nhiệm vụ:

(1 trong chủ đềt dòng, bạn nên nhập Chủ đề là Gửi thư chúc mừng sinh nhật;

(2.) Sau đó nhấp vào Tái phát theo Nhiệm vụ chuyển hướng;

(3.) Trong Lặp lại nhiệm vụ hộp thoại, chọn Hàng ngày và chỉ định mỗi 1 ngày tùy chọn từ Mô hình phát sinh phần;

5. Sau đó nhấn vào OK để đóng hộp thoại, quay lại cửa sổ tác vụ, vui lòng đặt lời nhắc cho tác vụ lặp lại như hình minh họa sau:

6. Kể từ bây giờ, khi cảnh báo nhắc nhở, macro sẽ được kích hoạt ngay lập tức. Một hộp thoại sẽ bật ra để nhắc bạn chèn lời chúc mừng sinh nhật như hình minh họa sau:

7. Sau đó nhấn vào OK , một thư chúc mừng sẽ tự động được gửi đến liên hệ có ngày sinh hôm nay.


Công cụ năng suất văn phòng tốt nhất

Kutools cho Outlook - Hơn 100 tính năng mạnh mẽ để tăng cường Outlook của bạn

🤖 Trợ lý thư AI: Email chuyên nghiệp tức thì với phép thuật AI--một cú nhấp chuột để có câu trả lời xuất sắc, giọng điệu hoàn hảo, khả năng thông thạo đa ngôn ngữ. Chuyển đổi email một cách dễ dàng! ...

📧 Tự động hoá email: Vắng Mặt (Có sẵn cho POP và IMAP)  /  Lên lịch gửi email  /  Tự động CC/BCC theo quy định khi gửi Email  /  Tự động chuyển tiếp (Quy tắc nâng cao)   /  Tự động thêm lời chào   /  Tự động chia email nhiều người nhận thành các tin nhắn riêng lẻ hữu ích. Cảm ơn !

📨 Quản lý email: Dễ dàng thu hồi email  /  Chặn email lừa đảo theo chủ đề và những người khác  /  Xóa các email trùng lặp  /  Tìm Kiếm Nâng Cao  /  Hợp nhất các thư mục hữu ích. Cảm ơn !

📁 Tệp đính kèm chuyên nghiệpLưu hàng loạt  /  Tách hàng loạt  /  Nén hàng loạt  /  Tự động lưu   /  Tự động tách  /  Tự động nén hữu ích. Cảm ơn !

🌟 Giao diện ma thuật: 😊Thêm nhiều biểu tượng cảm xúc đẹp và thú vị hơn   /  Tăng năng suất Outlook của bạn với chế độ xem theo thẻ  /  Thu nhỏ Outlook thay vì đóng hữu ích. Cảm ơn !

👍 Kỳ quan chỉ bằng một cú nhấp chuột: Trả lời tất cả bằng tệp đính kèm đến  /   Email chống lừa đảo  /  🕘Hiển thị múi giờ của người gửi hữu ích. Cảm ơn !

👩🏼‍🤝‍👩🏻 Danh bạ & Lịch: Thêm hàng loạt liên hệ từ các email đã chọn  /  Chia nhóm liên hệ thành các nhóm riêng lẻ  /  Xóa lời nhắc sinh nhật hữu ích. Cảm ơn !

Trên 100 tính năng Chờ đợi sự khám phá của bạn! Bấm vào đây để khám phá thêm.

 

 

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