Прескочи на основното съдържание

 Как да изпратите поздравително съобщение до контакт автоматично, ако рожденият му ден е днес в Outlook?

Автор: Xiaoyang Последна промяна: 2018-04-10

Понякога може да искате автоматично да изпратите поздравително съобщение до контакта, когато рожденият му ден е днес в Outlook. Ще бъде досадна работа, когато проверявате рождения ден на контакта един по един и изпращате поздравителните имейли ръчно. В тази статия ще представя VBA код, за да го разреша бързо и лесно.

Изпратете автоматично поздравително съобщение до контакт въз основа на неговия рожден ден с VBA код в Outlook


Изпратете автоматично поздравително съобщение до контакт въз основа на неговия рожден ден с VBA код в Outlook

За да изпратите автоматично поздравително съобщение до контакт, ако неговият рожден ден е днес, първо вмъкнете VBA код, след което трябва да създадете повтаряща се задача, за да задействате кода.

Следните стъпки могат да ви помогнат:

1. Стартирайте Outlook и след това задръжте ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2. В Microsoft Visual Basic за приложения прозорец, щракнете два пъти ThisOutlookSession от Проект1(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. След това clcik Инструменти > Препратки в Microsoft Visual Basic за приложения прозорец, в изскочил Референции-Проект1 диалогов прозорец, проверете Библиотека с обекти на Microsoft Word намлява Microsoft Scripting Runtime опции от Налични препратки списъчно поле, вижте екранна снимка:

4, След това кликнете OK за да затворите диалоговия прозорец, сега трябва да създадете задача за задействане на VBA кода. Моля, отидете на Task панел, щракнете върху New Task за създаване на задача:

(1.) В Subject ред, трябва да въведете Тема като Изпратете поздравителна поща за рожден ден;

(2.) След това щракнете Повтаряне под Task раздел;

(3.) В Повторение на задачата изберете диалоговия прозорец ежедневно и уточнете на всеки 1 ден(а) опция от Модел на повторение раздел;

5, След това кликнете OK за да затворите диалоговия прозорец, върнете се към прозореца на задачата, моля, задайте напомняне за повтарящата се задача, както е показано на следната екранна снимка:

6. Отсега нататък, когато напомнянето алармира, макросът ще се задейства незабавно. Ще се появи диалогов прозорец, за да ви напомни да вмъкнете поздравите за рожден ден, както е показано на следната екранна снимка:

7, След това кликнете OK бутон, поздравителен имейл ще бъде изпратен автоматично до контакта, чийто рожден ден е днес.


Най-добрите инструменти за продуктивност в офиса

Kutools за Outlook - Над 100 мощни функции, за да заредите вашия Outlook

🤖 AI Mail Assistant: Незабавни професионални имейли с AI магия - с едно щракване до гениални отговори, перфектен тон, многоезично владеене. Трансформирайте имейла без усилие! ...

📧 Автоматизиране на имейли: Извън офиса (налично за POP и IMAP)  /  График за изпращане на имейли  /  Автоматично CC/BCC по правила при изпращане на имейл  /  Автоматично пренасочване (разширени правила)   /  Автоматично добавяне на поздрав   /  Автоматично разделяне на имейлите с множество получатели на отделни съобщения ...

📨 Управление на Email: Лесно извикване на имейли  /  Блокиране на измамни имейли по теми и други  /  Изтриване на дублирани имейли  /  подробно търсене  /  Консолидиране на папки ...

📁 Прикачени файлове ProПакетно запазване  /  Партидно отделяне  /  Партиден компрес  /  Автоматично запазване   /  Автоматично отделяне  /  Автоматично компресиране ...

🌟 Магия на интерфейса: 😊 Още красиви и готини емотикони   /  Увеличете продуктивността на 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