Ця стаття навчить вас швидкому трюку за допомогою VBA, щоб дозволити Outlook автоматично підказувати вам, чи надсилати сповіщення електронною поштою, якщо ви не отримали відповіді на певний електронний лист протягом певного часу.
Іноді на життєво важливі електронні листи ви обов’язково з нетерпінням чекатимете відповіді. Іншими словами, ви повинні сподіватися, що одержувач зможе відповісти вам якомога швидше. В іншому випадку, якщо ви ще не отримали відповідь протягом очікуваного часу, ви знову надішлете одержувачу сповіщення електронною поштою. Тому, у відповідь на цю вимогу, тут ми представимо метод, який використовує VBA, щоб зробити Outlook автоматичним попередженням і підказкою в такому випадку. Читайте далі, щоб отримати докладні кроки та коди.

Отримайте сповіщення, якщо не отримаєте відповідь на певний електронний лист протягом очікуваного часу
- На самому початку сtart ваш Outlook.
- Потім вам потрібно встановити конкретний час нагадування для конкретного електронного листа.
- По-перше, клацніть правою кнопкою миші на конкретному електронному листі.
- Потім виберіть «Додаткові дії» > «Додати нагадування».
- У діалоговому вікні ви можете встановити час нагадування таким же, як і конкретний час, протягом якого ви хочете отримати відповідь.
- Після цього натисніть клавіші «Alt + F11», щоб отримати доступ до редактора Outlook VBA.
- Далі в новому вікні відкрийте проект «ThisOutlookSession» і скопіюйте в нього наступні коди.
Public WithEvents objInboxItems As Outlook.Items
Private Sub Application_Startup()
Set objInboxItems = Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
'If receive the reply, clear the flag and remove the reminder
Private Sub objInboxItems_ItemAdd(ByVal Item As Object)
Dim objSentItems As Outlook.Items
Dim objVariant As Variant
Dim i As Long
Dim strSubject As String
Dim dSendTime As String
Set objSentItems = Outlook.Application.Session.GetDefaultFolder(olFolderSentMail).Items
If Item.Class = olMail Then
For i = 1 To objSentItems.Count
If objSentItems.Item(i).Class = olMail Then
Set objVariant = objSentItems.Item(i)
strSubject = LCase(objVariant.Subject)
dSendTime = objVariant.SentOn
If LCase(Item.Subject) = "re: " & strSubject Or InStr(LCase(Item.Subject), strSubject) > 0 Then
If Item.SentOn > dSendTime Then
With objVariant
.ClearTaskFlag
.ReminderSet = False
.Save
End With
End If
End If
End If
Next i
End If
End Sub
'Get a prompt asking if to send a notification email
Private Sub Application_Reminder(ByVal Item As Object)
Dim strPrompt As String
Dim nResponse As Integer
Dim objFollowUpMail As Outlook.MailItem
'You can change the subject as per your real case
If (Item.Class = olMail) And (LCase(Item.Subject) = "datanumen outlook repair") Then
strPrompt = "You haven't yet recieved the reply of " & Chr(34) & Item.Subject & Chr(34) & " within your expected time. Do you want to send a follow-up notification email?"
nResponse = MsgBox(strPrompt, vbYesNo + vbQuestion, "Confirm to Send a Follow-Up Notification Email")
If nResponse = vbYes Then
Set objFollowUpMail = Application.CreateItem(olMailItem)
With objFollowUpMail
.To = Item.Recipients.Item(1).Address
.Subject = "Follow Up: " & Chr(34) & Item.Subject & Chr(34)
.Body = "Please respond to my email " & Chr(34) & Item.Subject & Chr(34) & "as soon as possible"
.attachments.Add Item
.Display
End With
End If
End If
End Sub
- Згодом підпишіть цей код.
- Пізніше змініть налаштування макросу Outlook, щоб дозволити макроси з цифровим підписом.
- Врешті-рештtart Outlook, щоб активувати новий макрос. Відтепер Outlook працюватиме так:
- Якщо ви отримали відповідь на певний електронний лист до того, як з’явиться нагадування, Outlook автоматично зніме прапорець і вимкне нагадування.
- Якщо ви не отримали відповіді, коли спрацює нагадування, Outlook запитає вас, чи потрібно надіслати сповіщення електронною поштою. Якщо вибрати «Так», електронний лист буде надіслано. Якщо вибрати «Ні», підказка відразу зникне.
Вирішуйте неприємні проблеми з Outlook
Оскільки Outlook схильний до помилок, щоб запобігти Корупція в Outlook, вам краще не покладатися лише на інструмент вхідних повідомлень Scanpst.exe. Ви повинні підготувати інший потужний і авторитетний засіб для ремонту, наприклад DataNumen Outlook Repair, який може усунути дратівливі проблеми, які Scanpst.exe не може вирішити.
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі sql корупція та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com


