Эта статья научит вас быстрому трюку с использованием VBA, позволяющему Outlook автоматически предлагать вам отправлять уведомления по электронной почте, если вы не получили ответ на определенное электронное письмо в течение определенного времени.
Иногда на жизненно важные электронные письма вы определенно будете ждать ответов. Другими словами, вы должны надеяться, что получатель сможет ответить вам как можно скорее. В противном случае, если вы еще не получили ответ в течение ожидаемого времени, вы снова отправите получателю уведомление по электронной почте. Поэтому, в ответ на это требование, здесь мы представим метод, который использует VBA, чтобы Outlook автоматически предупреждал и запрашивал вас в таком случае. Читайте дальше, чтобы получить подробные шаги и коды.

Получите уведомление, если не получите ответ на определенное электронное письмо в течение ожидаемого времени
- В самом начале сtarт ваш 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, чтобы разрешить макросы с цифровой подписью.
- В конце концов резtar• Outlook, чтобы активировать новый макрос. Отныне Outlook будет работать следующим образом:
- Если вы получили ответ на определенное электронное письмо до того, как появится всплывающее напоминание, Outlook автоматически снимет флажок и отключит напоминание.
- Если вы не получили ответ, когда срабатывает напоминание, Outlook спросит вас, следует ли отправить дополнительное уведомление по электронной почте. Если вы выберете «Да», письмо будет отправлено. Если выбрать «Нет», подсказка сразу исчезнет.
Устранение раздражающих проблем с Outlook
Поскольку Outlook подвержен ошибкам, чтобы предотвратить Повреждение Outlook, вам лучше не полагаться только на инструмент для входящих сообщений, Scanpst.exe. Вы должны подготовить другой мощный и авторитетный инструмент для ремонта, такой как DataNumen Outlook Repair, который может устранить надоедливые проблемы, которые Scanpst.exe не может решить.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая sql-повреждение и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com


