Après avoir terminé une tâche dans Outlook, de nombreux utilisateurs peuvent souhaiter envoyer un e-mail de notification pour avertir quelqu'un, tel que le supérieur. L'envoi manuel de l'e-mail prendra du temps. Cet article présentera une méthode rapide pour envoyer automatiquement ce type d'e-mails.
De l'article "4 étapes rapides pour attribuer une tâche à d'autres dans votre Outlook”, vous pouvez savoir que si la tâche vous est assignée par votre supérieur et qu'il a demandé un rapport d'état à l'avance, comme la capture d'écran ci-dessous, il pourra recevoir automatiquement un e-mail de rapport.
Cependant, si la tâche vient d'être créée par vous-même, Outlook n'enverra jamais d'e-mail de notification à quiconque lorsque vous la marquerez comme terminée. Dans ce cas, si vous souhaitez envoyer un e-mail de notification pour signaler votre travail, vous devez le faire manuellement. Mais avec les codes VBA suivants, vous pouvez laisser Outlook le faire automatiquement.
Envoyer automatiquement un e-mail de notification lorsqu'une tâche spécifique est terminée
- Pour commencer, ouvrez Outlook et accédez à l'onglet « Développeur ».
- Ensuite, localisez et cliquez sur le bouton "Visual Basic". Une nouvelle fenêtre "Microsoft Visual Basic pour Applications" apparaîtra.
- Après cela, double-cliquez sur le projet "ThisOutlookSession" pour l'ouvrir, puis copiez-y les codes VBA suivants.
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
- Procédez ensuite à la signature de ce code et modifiez les paramètres de la macro pour n'autoriser que les macros signées numériquement.
- Enfin, vous pouvez quitter la fenêtre actuelle et faire un essai.
- Lorsque vous marquez une tâche comme terminée, vous recevez un message, comme l'image suivante :
- Lorsque vous cliquez sur le bouton "Oui", un nouveau message s'ouvrira, comme illustré ci-dessous :
À noter: Si vous remplacez ".display" par la ligne ".Send", cet e-mail sera envoyé directement sans apparaître.
Faites attention aux messages provenant d'adresses e-mail inconnues
Vous devez avoir déjà reçu de nombreux e-mails d'adresses inconnues. Il est conseillé de se méfier de ce type d'e-mails. C'est parce qu'ils peuvent sembler anodins mais contiennent des liens, des pièces jointes ou des macros malveillants. Une fois que vous cliquez dessus ou que vous les ouvrez, votre Outlook peut être infecté. À ce stade, pour récupérer vos données Outlook, vous n'avez d'autre choix que d'utiliser un excellent utilitaire de réparation de données Outlook endommagé tels que DataNumen Outlook Repair.
Introduction de l'auteur:
Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris réparer le problème SQL mdf et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com


