Как да получите известие, ако не получите отговор на конкретен имейл в рамките на очакваното време

Споделете сега:

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

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

 Получете известие, ако не получите отговор на конкретен имейл

Получете известие, ако не получите отговор на конкретен имейл в рамките на очакваното време

  1. В самото начало, start вашия 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. В крайна сметка restart Outlook за активиране на новия макрос. Отсега нататък Outlook ще работи по следния начин:
  • Ако сте получили отговора на конкретния имейл, преди напомнянето да се появи, Outlook автоматично ще изчисти флага и ще деактивира напомнянето.
  • Ако не сте получили отговора, когато напомнянето му се задейства, Outlook ще ви попита дали да изпрати имейл с последващо известие. Ако изберете „Да“, имейлът ще бъде изпратен. Ако изберете „Не“, подканата ще изчезне веднага.

Разрешаване на досадни проблеми с Outlook

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

Въведение на автора:

Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително sql корупция и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com

Споделете сега:

Коментарите са забранени.