KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Outlook 中自动向今天过生日的联系人发送祝福信息?

作者晓阳修改日期

有时,您可能希望在 Outlook 中自动向生日为当天的联系人发送祝福信息。如果需要逐一查找每位联系人的生日并手动发送祝福邮件,无疑会非常繁琐。本文将为您介绍一段 VBA 代码,助您轻松高效地解决这一难题。

在 Outlook 中通过 VBA 代码根据联系人生日自动发送祝福信息


在 Outlook 中通过 VBA 代码根据联系人生日自动发送祝福信息

若想在联系人生日当天自动发送祝福信息,您需要先插入 VBA 代码,并创建一个重复任务以触发该代码。

您可以按照以下步骤进行操作:

11. 启动 Outlook,按住 ALT + F11 键即可打开 Microsoft Visual Basic for Applications 窗口。

22. 在 Microsoft Visual Basic for Applications 窗口中,双击 Project 1(VbaProject.OTM) 窗格中的 ThisOutlookSession,即可进入编辑模式,然后将以下代码复制粘贴到空白模块中。

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

33. 然后点击工具> 引用,在 Microsoft Visual Basic for Applications 窗口,弹出 引用-Project 1 对话框时,勾选 Microsoft Word 对象库Microsoft Scripting Runtime 选项,位于可用引用列表框中,如下图所示:

44. 然后点击确定关闭该对话框。现在,您需要新建一个任务以触发 VBA 代码。请前往任务窗格,点击新建任务即可创建任务:

(1)在主题行,您需要将主题设置为 Send Birthday Greeting Mail

(2)然后点击周期,位于任务选项卡下;

(3)在任务周期对话框中,选择每日,并在 每 1 天 选项中指定定期模式区域;

55. 然后点击确定,关闭对话框后,返回任务窗口,请如截图所示为重复任务设置提醒:

6 从现在开始,每当提醒触发时,宏代码将立即运行,并弹出对话框提醒您插入生日祝福,如下图所示:

7 接着点击确定按钮,系统将自动为今天过生日的联系人发送祝福邮件。


最佳办公效率工具

体验全新 Kutools for Outlook,畅享 100+ 强大功能!立即点击下载,不容错过!

🤖KUTOOLS AI采用先进 AI 技术,轻松处理邮件,涵盖回复、摘要、优化、扩展、翻译及撰写等功能。

📧 邮件自动化自动答复(支持 POP 和 IMAP)/定时发送邮件/发送邮件时按规则自动抄送密送/自动转发(高级规则)/自动添加称呼/自动将多收件人邮件拆分为单独信息……

📨 邮件管理撤回邮件/按主题等条件拦截诈骗邮件/删除重复邮件/高级搜索/整合文件夹……

📁 附件增强批量保存/批量分离/批量压缩/自动保存/自动拆离/自动压缩……

🌟 界面魔法😊更多美观时尚表情/重要邮件到达时提醒您/最小化 Outlook 而不是直接关闭……

👍 一键精彩功能带附件全部答复/反钓鱼邮件/🕘显示发送者当前时间时区……

👩🏼‍🤝‍👩🏻 联系人与日历批量从选定邮件中提取添加联系人/将联系人组拆分为个人组/移除生日提醒……

在您的首选语言中畅享 Kutools —— 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

一键解锁 Kutools for Outlook,告别等待,立即下载,让效率倍增!

kutools for outlook 功能1kutools for outlook 功能2

🚀 一键下载 — 即可获取全部 Office 加载项

强烈推荐:Kutools for Office(5 合 1)

一键下载五个安装包,即可同时获得 Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro立即点击下载!

  • 一键便捷:只需一次操作,即可下载全部五个安装包。
  • 🚀 轻松应对各类 Office 任务:随时按需安装所需插件,助您高效办公,不容错过!
  • 🧰 包含:Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint