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

Получете известие, ако не получите отговор на конкретен имейл в рамките на очакваното време
- В самото начало, start вашия 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, за да разрешите цифрово подписаните макроси.
- В крайна сметка restart Outlook за активиране на новия макрос. Отсега нататък Outlook ще работи по следния начин:
- Ако сте получили отговора на конкретния имейл, преди напомнянето да се появи, Outlook автоматично ще изчисти флага и ще деактивира напомнянето.
- Ако не сте получили отговора, когато напомнянето му се задейства, Outlook ще ви попита дали да изпрати имейл с последващо известие. Ако изберете „Да“, имейлът ще бъде изпратен. Ако изберете „Не“, подканата ще изчезне веднага.
Разрешаване на досадни проблеми с Outlook
Тъй като Outlook е податлив на грешки, за да се предотврати Корупция в Outlook, по-добре не разчитайте само на инструмента за входяща кутия, Scanpst.exe. Трябва да подготвите друг мощен и уважаван инструмент за ремонт, като напр DataNumen Outlook Repair, който може да се справи с досадните проблеми, които Scanpst.exe не може да разреши.
Въведение на автора:
Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително sql корупция и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com


