Dopo aver completato un'attività in Outlook, molti utenti potrebbero voler inviare un'e-mail di notifica per avvisare qualcuno, ad esempio il superiore. L'invio manuale dell'e-mail richiederà molto tempo. Questo articolo introdurrà un metodo rapido per inviare automaticamente questo tipo di email.
Dall'articolo “4 passaggi rapidi per assegnare attività ad altri nel tuo Outlook”, puoi sapere che se l'attività ti è stata assegnata dal tuo superiore e ha richiesto in anticipo un rapporto sullo stato, come lo screenshot qui sotto, sarà in grado di ricevere automaticamente un'e-mail di rapporto.
Tuttavia, se l'attività è appena stata creata da te, Outlook non invierà mai un'e-mail di notifica a nessuno quando la contrassegni come completata. In questo caso, se desideri inviare un'e-mail di notifica per segnalare il tuo lavoro, devi farlo manualmente. Ma con i seguenti codici VBA, puoi consentire a Outlook di eseguirlo automaticamente.
Invia automaticamente un'e-mail di notifica al completamento di un'attività specifica
- All'inizio dovresti start Outlook e passare alla scheda "Sviluppatore".
- Quindi individuare e fare clic sul pulsante "Visual Basic". Apparirà una nuova finestra "Microsoft Visual Basic for Applications".
- Successivamente, fai doppio clic sul progetto "ThisOutlookSession" per aprirlo e quindi copia i seguenti codici VBA al suo interno.
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
- Procedi quindi a firmare questo codice e modifica le impostazioni della macro per consentire solo macro firmate digitalmente.
- Finalmente puoi uscire dalla finestra corrente e provare.
- Quando contrassegni un'attività come completata, riceverai un messaggio, come nell'immagine seguente:
- Quando fai clic sul pulsante "Sì", si aprirà un nuovo messaggio, mostrato come l'immagine qui sotto:
Attenzione: Se sostituisci ".display" con la riga ".Send", questa email verrà inviata direttamente senza essere visualizzata.
Presta attenzione ai messaggi provenienti da indirizzi e-mail sconosciuti
Devi aver ricevuto molte email da indirizzi sconosciuti. Si consiglia di stare attenti a questo tipo di email. È perché possono sembrare innocui ma contengono collegamenti, allegati o macro dannosi. Una volta cliccati o aperti, il tuo Outlook potrebbe essere infettato. A quel punto, per recuperare i tuoi dati di Outlook, non hai altra scelta che utilizzare un file stellare Utilità di correzione dei dati di Outlook danneggiata, come DataNumen Outlook Repair.
Introduzione dell'autore:
Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui riparare il problema di SQL mdf e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com


