Este artigo ensinará a você um truque rápido usando o VBA para permitir que o Outlook solicite automaticamente se você deseja enviar um e-mail de notificação quando não receber a resposta de um e-mail específico em um horário específico.
Às vezes, para os e-mails de importância vital, você certamente aguardará suas respostas. Em outras palavras, você deve esperar que o destinatário possa responder a você o mais rápido possível. Caso contrário, desde que você ainda não tenha recebido a resposta dentro do prazo esperado, você enviará um e-mail de notificação de acompanhamento ao destinatário novamente. Portanto, em resposta a esse requisito, apresentaremos aqui um método que usa o VBA para fazer o Outlook avisar automaticamente e avisá-lo nesse caso. Continue lendo para obter as etapas e códigos elaborados.

Receba uma notificação se não receber a resposta de um e-mail específico dentro do tempo esperado
- Para começar, abra o Outlook.
- Em seguida, você precisa definir um horário de lembrete específico para o e-mail específico.
- Em primeiro lugar, clique com o botão direito do mouse no e-mail específico.
- Em seguida, selecione “Acompanhamento” > “Adicionar lembrete”.
- Na caixa de diálogo, você pode definir o horário do lembrete igual ao horário específico em que deseja receber a resposta.
- Depois disso, pressione os botões de tecla “Alt + F11” para acessar o editor VBA do Outlook.
- Em seguida, na nova janela, abra o projeto “ThisOutlookSession” e copie os seguintes códigos para ele.
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
- Posteriormente, assine este código.
- Posteriormente, altere a configuração de macro do Outlook para permitir as macros assinadas digitalmente.
- Por fim, reinicie o Outlook para ativar a nova macro. A partir de agora, o Outlook funcionará da seguinte maneira:
- Se você recebeu a resposta do e-mail específico antes que o lembrete apareça, o Outlook limpará automaticamente o sinalizador e desativará o lembrete.
- Se você não tiver recebido a resposta quando o lembrete for acionado, o Outlook perguntará se você deseja enviar um email de notificação de acompanhamento. Se você selecionar “Sim”, o e-mail será enviado. Se selecionar “Não”, o prompt desaparecerá imediatamente.
Resolver problemas irritantes do Outlook
Como o Outlook é propenso a erros, para evitar Corrupção do Outlook, é melhor você não confiar apenas na ferramenta de caixa de entrada, Scanpst.exe. Você deve preparar outra ferramenta de reparo potente e confiável, como DataNumen Outlook Repair, que pode eliminar os problemas irritantes que o Scanpst.exe não consegue resolver.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo corrupção de sql e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com


