Efter att ha slutfört en uppgift i Outlook kanske många användare vill skicka ett e-postmeddelande för att meddela någon, till exempel chefen. Att skicka e-postmeddelandet manuellt är tidskrävande. Denna artikel kommer att introducera en snabb metod för att automatiskt skicka denna typ av e-post.
Från artikeln “4 snabba steg för att tilldela andra uppgifter i ditt Outlook”, Du kan veta att om uppgiften tilldelas dig från din chef och de har krävt en statusrapport i förväg, som skärmdumpen nedan, kommer de att kunna få ett e-postmeddelande automatiskt.
Om uppgiften bara skapas på egen hand kommer Outlook aldrig att skicka ett e-postmeddelande till någon när du markerar det som slutfört. I det här fallet, om du vill skicka ett e-postmeddelande för att rapportera ditt arbete, måste du göra det manuellt. Men med följande VBA-koder kan du låta Outlook automatiskt åstadkomma det.
Skicka automatiskt ett e-postmeddelande när en specifik uppgift är klar
- Först bör du starta Outlook och gå till fliken "Utvecklare".
- Leta sedan upp och klicka på "Visual Basic" -knappen. Ett nytt “Microsoft Visual Basic for Applications” -fönster visas.
- Därefter dubbelklickar du på "ThisOutlookSession" -projektet för att öppna det och kopiera sedan följande VBA-koder till det.
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
- Fortsätt sedan med att signera den här koden och ändra makroinställningarna för att endast tillåta digitalt signerade makron.
- Slutligen kan du lämna det aktuella fönstret och prova.
- När du markerar en uppgift som klar får du ett meddelande, som följande bild:
- När du klickar på "Ja" -knappen öppnas ett nytt meddelande som visas som bilden nedan:
Obs: Om du ersätter ".display" med ".Send" -raden skickas det här e-postmeddelandet direkt utan att visas.
Var uppmärksam på meddelanden från okända e-postadresser
Du måste ha fått många e-postmeddelanden från okända adresser. Det är tillrådligt att hålla försiktig med denna typ av e-post. Det beror på att de kan se oskyldiga ut men innehåller skadliga länkar, bilagor eller makron. När du klickar eller öppnar dem kan din Outlook smittas. För att få tillbaka dina Outlook-data har du inget annat val än att använda en stjärna skadad Outlook-datafixeringsverktyg, Såsom DataNumen Outlook Repair.
Författarintroduktion:
Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive reparera SQL mdf-problem och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com


