Як автоматично надіслати привітальне повідомлення контакту, якщо його день народження сьогодні в Outlook?
Іноді вам може знадобитися автоматично надіслати привітальне повідомлення контакту, коли в Outlook сьогодні його день народження. Це буде нудна робота, коли ви перевіряєте день народження контакту один за одним і надсилаєте електронні листи з привітаннями вручну. У цій статті я представив код VBA, щоб швидко і легко вирішити його.
Автоматично надішліть привітальне повідомлення контакту на основі дня народження із кодом 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 Tools > посилання в Microsoft Visual Basic для додатків вікно, у спливаючому Список літератури-Проект1 діалогове вікно, поставте галочку Бібліотека об’єктів Microsoft Word та Виконання сценаріїв Microsoft варіанти з Доступні посилання вікно списку, див. знімок екрана:
4. Потім натисніть OK щоб закрити діалогове вікно, вам слід створити завдання для запуску коду VBA. Будь ласка, перейдіть до Завдання панель, клацніть Нове завдання для створення завдання:
(1.) В Суб'єктt рядок, ви повинні ввести Тему як Надіслати листівку з днем народження;
(2.) Потім натисніть Повторення під Завдання вкладка;
(3.) У Повторення завдання діалогове вікно, виберіть щодня і вкажіть кожні 1 день опція від Шаблон рецидиву розділ;
5. Потім натисніть OK щоб закрити діалогове вікно, поверніться до вікна завдання, встановіть нагадування для повторюваного завдання, як показано на наступному знімку екрана:
6. Відтепер, коли нагадування нагадує, макрос буде спрацьовувати негайно. З'явиться діалогове вікно, яке нагадуватиме вам про те, як вставити привітання з днем народження, як показано нижче
7. Потім натисніть OK , контактне повідомлення, день народження якого сьогодні буде автоматично надіслано привітальне повідомлення.
Найкращі інструменти продуктивності офісу
Kutools для Outlook - Понад 100 потужних функцій, які покращать ваш Outlook
???? Автоматизація електронної пошти: Поза офісом (доступно для POP та IMAP) / Розклад надсилання електронних листів / Автоматична копія/прихована копія за правилами під час надсилання електронної пошти / Автоматичне пересилання (розширені правила) / Автоматично додавати привітання / Автоматично розділяйте електронні листи кількох одержувачів на окремі повідомлення ...
📨 Управління електронною поштою: Легко відкликайте електронні листи / Блокуйте шахрайські електронні листи за темами та іншими / Видалити повторювані електронні листи / розширений пошук / Консолідація папок ...
📁 Вкладення Pro: Пакетне збереження / Пакетне від'єднання / Пакетний компрес / Автозавантаження / Автоматичне від'єднання / Автокомпресія ...
???? Магія інтерфейсу: 😊Більше красивих і класних смайликів / Підвищте продуктивність Outlook за допомогою вкладок / Згорніть Outlook замість того, щоб закривати ...
👍 Дива в один клік: Відповісти всім із вхідними вкладеннями / Антифішингові електронні листи / 🕘Показувати часовий пояс відправника ...
👩🏼🤝👩🏻 Контакти та календар: Пакетне додавання контактів із вибраних електронних листів / Розділіть групу контактів на окремі групи / Видаліть нагадування про день народження ...
більше Особливості 100 Чекайте на ваше дослідження! Натисніть тут, щоб дізнатися більше.