Depois de concluir uma tarefa no Outlook, muitos usuários podem desejar enviar um e-mail de notificação para notificar alguém, como o superior. Enviar o e-mail manualmente será demorado. Este artigo apresentará um método rápido para enviar automaticamente esse tipo de e-mail.
Do artigo “4 etapas rápidas para atribuir tarefas a outras pessoas em seu Outlook”, você pode saber que se a tarefa for atribuída a você por seu superior e eles solicitarem um relatório de status com antecedência, como a captura de tela abaixo, eles poderão receber um e-mail de relatório automaticamente.
No entanto, se a tarefa for criada por você mesmo, o Outlook nunca enviará um email de notificação a ninguém quando você a marcar como concluída. Nesse caso, se você quiser enviar um e-mail de notificação para relatar seu trabalho, deverá fazê-lo manualmente. Mas com os seguintes códigos VBA, você pode permitir que o Outlook faça isso automaticamente.
Enviar automaticamente um e-mail de notificação quando uma tarefa específica for concluída
- A princípio, você devetart Outlook e mude para a guia “Desenvolvedor”.
- Em seguida, localize e clique no botão “Visual Basic”. Uma nova janela “Microsoft Visual Basic for Applications” será exibida.
- Depois disso, clique duas vezes no projeto “ThisOutlookSession” para abri-lo e copie os seguintes códigos VBA para ele.
Public WithEvents olItems As Outlook.Items
Private Sub Application_Startup()
Set olItems = Session.GetDefaultFolder(olFolderTasks).Items
End Sub
Private Sub olItems_ItemChange(ByVal Item As Object)
Dim obApp As Outlook.Application
Dim olMail As Outlook.MailItem
Dim Recip As String
'Replace "test" as per your needs
If InStr(LCase(Item.Subject), "test") > 0 And Item.Complete = True Then
'Replace with your desired contact
Recip = "John Smith"
If MsgBox("Do you want to send a report to " & Recip & " ?", vbYesNo + vbQuestion, "Confirm Sending Report") = vbYes Then
Set obApp = Outlook.Application
Set olMail = obApp.CreateItem(olMailItem)
With olMail
.To = Recip
.Subject = "Complete: " & Item.Subject
.Body = "Dear Mr. Smith" & vbCrLf & "I've completed this task in " & DateDiff("d", Item.CreationTime, Now) & " day" & Chr(40) & "s" & Chr(41) & "." & vbCrLf & vbCrLf & "Task Name: " & Item.Subject & vbCrLf & "Start Date: " & Item.StartDate & vbCrLf & "Due Date: " & Item.DueDate & vbCrLf & "Creation Time: " & Item.CreationTime & vbCrLf & "Completed Time: " & Now & vbCrLf & vbCrLf & "Task Details: " & vbCrLf & Item.Body
.ReadReceiptRequested = True
'To directly send it,use ".Send" instead
.Display
End With
End If
End If
End Sub
- Em seguida, assine este código e altere as configurações de macro para permitir apenas macros assinadas digitalmente.
- Finalmente, você pode sair da janela atual e tentar.
- Ao marcar uma tarefa como concluída, você receberá uma mensagem, como na imagem a seguir:
- Ao clicar no botão “Sim”, uma nova mensagem será aberta, conforme a figura abaixo:
Nota: Se você substituir “.display” pela linha “.Send”, este e-mail será enviado diretamente sem aparecer.
Preste atenção às mensagens de endereços de e-mail desconhecidos
Você já deve ter recebido muitos e-mails de endereços desconhecidos. É aconselhável ter cuidado com este tipo de e-mails. É porque eles podem parecer inócuos, mas contêm links, anexos ou macros maliciosos. Depois de clicar ou abri-los, seu Outlook pode ser infectado. Nesse ponto, para recuperar seus dados do Outlook, você não tem escolha a não ser usar um excelente utilitário de correção de dados do Outlook danificado, como DataNumen Outlook Repair.
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 reparar problema mdf SQL e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com


