Як отримати сповіщення, якщо відповідь на певний електронний лист не надійшла протягом очікуваного часу

Поділитися зараз:

Ця стаття навчить вас швидкому трюку за допомогою VBA, щоб дозволити Outlook автоматично підказувати вам, чи надсилати сповіщення електронною поштою, якщо ви не отримали відповіді на певний електронний лист протягом певного часу.

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

 Отримайте сповіщення, якщо не отримаєте відповідь на певний електронний лист

Отримайте сповіщення, якщо не отримаєте відповідь на певний електронний лист протягом очікуваного часу

  1. На самому початку сtart ваш Outlook.
  2. Потім вам потрібно встановити конкретний час нагадування для конкретного електронного листа.
  • По-перше, клацніть правою кнопкою миші на конкретному електронному листі.
  • Потім виберіть «Додаткові дії» > «Додати нагадування».Додайте нагадування до певного електронного листа
  • У діалоговому вікні ви можете встановити час нагадування таким же, як і конкретний час, протягом якого ви хочете отримати відповідь.Встановіть конкретне нагадування
  1. Після цього натисніть клавіші «Alt + F11», щоб отримати доступ до редактора Outlook VBA.
  2. Далі в новому вікні відкрийте проект «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

Коди VBA - отримуйте сповіщення, якщо відповідь на певний електронний лист не надійшла протягом очікуваного часу

  1. Згодом підпишіть цей код.
  2. Пізніше змініть налаштування макросу Outlook, щоб дозволити макроси з цифровим підписом.
  3. Врешті-рештtart Outlook, щоб активувати новий макрос. Відтепер Outlook працюватиме так:
  • Якщо ви отримали відповідь на певний електронний лист до того, як з’явиться нагадування, Outlook автоматично зніме прапорець і вимкне нагадування.
  • Якщо ви не отримали відповіді, коли спрацює нагадування, Outlook запитає вас, чи потрібно надіслати сповіщення електронною поштою. Якщо вибрати «Так», електронний лист буде надіслано. Якщо вибрати «Ні», підказка відразу зникне.

Вирішуйте неприємні проблеми з Outlook

Оскільки Outlook схильний до помилок, щоб запобігти Корупція в Outlook, вам краще не покладатися лише на інструмент вхідних повідомлень Scanpst.exe. Ви повинні підготувати інший потужний і авторитетний засіб для ремонту, наприклад DataNumen Outlook Repair, який може усунути дратівливі проблеми, які Scanpst.exe не може вирішити.

Вступ автора:

Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі sql корупція та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com

Поділитися зараз:

Коментарі закриті.