KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come inviare automaticamente un messaggio di auguri a un contatto in Outlook quando oggi è il suo compleanno?

AutoreXiaoyang Data di modifica

A volte potrebbe essere utile inviare automaticamente un messaggio di auguri a un contatto quando oggi è il suo compleanno in Outlook. Controllare manualmente uno per uno i compleanni dei contatti e inviare singolarmente le email di auguri sarebbe un compito noioso. In questo articolo, illustrerò un codice VBA per risolvere rapidamente e facilmente questa operazione.

Inviare automaticamente un messaggio di auguri a un contatto in base al suo compleanno con un codice VBA in Outlook


Inviare automaticamente un messaggio di auguri a un contatto in base al suo compleanno con un codice VBA in Outlook

Per inviare automaticamente un messaggio di auguri a un contatto nel giorno del suo compleanno, inserisci innanzitutto il codice VBA, quindi crea un'attività ricorrente per attivarlo.

I seguenti passaggi potrebbero esserti utili:

1. Avvia Outlook, quindi tieni premuti i tasti ALT + F11 per aprire la finestra di Microsoft Visual Basic for Applications.

2. Nella finestra di Microsoft Visual Basic for Applications, fare doppio clic su ThisOutlookSession nel riquadro Project1 (VbaProject.OTM) per aprire il modulo, quindi copiare e incollare il seguente codice nel modulo vuoto.

Codice VBA: Invio automatico di un messaggio di auguri a un contatto in base al compleanno:

Private Sub Application_Reminder(ByVal Item As Object)
Dim xTempMail As MailItem
Dim xFilePath As String
Dim xItems As Outlook.Items
Dim xItem As Object
Dim xContactItem As Outlook.ContactItem
Dim xTodayDate As String
Dim xBirthdayDate As String
Dim xGreetingMail As Outlook.MailItem
Dim xWordDoc As Word.Document
Dim xGreetings As String
Dim xBool As Boolean
xFilePath = CreateObject("shell.Application").NameSpace(5).self.Path & "\UserTemplates"
Set xFSO = CreateObject("Scripting.FileSystemObject")
If xFSO.FolderExists(xFilePath) = False Then
    MkDir xFilePath
End If
If IsFileExists(xFilePath & "\Birthday Greeting Mail.oft") = False Then
    Set xTempMail = Outlook.CreateItem(olMailItem)
    xTempMail.SaveAs xFilePath & "\Birthday Greeting Mail.oft", olTemplate
    xTempMail.Close olDiscard
End If
If (TypeOf Item Is TaskItem) And (Item.Subject = "Send Birthday Greeting Mail") Then
xGreetings = "Happy Birthday!"
           xGreetings = InputBox("Input birthday greetings", "Kutools for Outlook", xGreetings)
   xTodayDate = Month(Date) & "-" & Day(Date)
   Set xItems = Outlook.Application.Session.GetDefaultFolder(olFolderContacts).Items
   For Each xItem In xItems
       If Not (TypeOf xItem Is ContactItem) Then Exit Sub
       Set xContactItem = xItem
       xBirthdayDate = Month(xContactItem.Birthday) & "-" & Day(xContactItem.Birthday)
       If xBirthdayDate = xTodayDate Then
           Set xGreetingMail = Outlook.Application.CreateItemFromTemplate(xFilePath & "\Birthday Greeting Mail.oft")
           Set xWordDoc = xGreetingMail.GetInspector.WordEditor
           
           xWordDoc.Range.InsertBefore "Dear " & xContactItem.LastName & Chr(10) & xGreetings & Chr(10) & Chr(10)
           With xGreetingMail
                .Recipients.Add (xContactItem.Email1Address)
                .Subject = "Happy Birthday!"
                .Display
                .Close (olSave)
                .Send
          End With
       End If
   Next
End If
End Sub
Function IsFileExists(ByVal FileName As String) As Boolean
Dim xFileSystem As Object
Set xFileSystem = CreateObject("Scripting.FileSystemObject")
If xFileSystem.FileExists(FileName) = True Then
    IsFileExists = True
Else
    IsFileExists = False
End If
End Function 
screenshot del passaggio relativo all'utilizzo di VBA per inviare automaticamente un messaggio di auguri a un contatto se oggi è il suo compleanno in Outlook 1

3. Fare quindi clic su Strumenti > Riferimenti nella finestra di Microsoft Visual Basic for Applications. Nella finestra di dialogo Riferimenti - Project1 visualizzata, selezionare le opzioni Microsoft Word Object Library e Microsoft Scripting Runtime dall’elenco Riferimenti disponibili, come mostrato nello screenshot:

4. Fare quindi clic su OK per chiudere la finestra di dialogo. A questo punto, è necessario creare un’attività per attivare il codice VBA. Passare al riquadro Attività, quindi fare clic su Attività per creare un’attività:

(1.) Nella riga Oggetto, inserire come Oggetto Invia email di auguri per compleanno;

(2.) Fare quindi clic su Ricorrenzanella scheda Attività;

(3.) Nella finestra di dialogo Ricorrenza attività, selezionare l’opzione Giornalierae specificare ogni 1 giornonella sezione Modello di ricorrenza;

5. Fare quindi clic su OK per chiudere la finestra di dialogo. Tornati alla finestra dell’attività, impostate un promemoria per l’attività ricorrente come mostrato nello screenshot seguente:

6. Da questo momento, ogni volta che il promemoria viene visualizzato, la macro si attiverà immediatamente, mostrando una finestra di dialogo per ricordarti di inserire gli auguri di compleanno, come illustrato nello screenshot seguente:

7. Fai quindi clic sul pulsante OK e un'email di auguri verrà inviata automaticamente al contatto il cui compleanno è oggi.


Migliori strumenti per la produttività in Office

Scopri il nuovissimo Kutools per Outlook con 100+ funzionalità incredibili!Clicca per scaricare ora!

🤖KUTOOLS AI:Utilizza tecnologia AI avanzata per gestire le email senza sforzo, inclusi rispondere, riassumere, ottimizzare, estendere, tradurre e comporre email.

📧Automazione delle email: Risposta automatica (disponibile per POP e IMAP) / Invio email programmato / CC/BCC automatico in base a regole durante l’invio delle email / Inoltro automatico (regola avanzata) / Aggiunta automatica del saluto / Divisione automatica delle email con destinatari multipli in messaggi individuali...

📨Gestione delle email: Richiama Email / Blocca le email truffaldine in base all’oggetto e ad altri criteri / Elimina email duplicate / Ricerca avanzata / Organizza cartelle...

📁Allegati Pro: Salvataggio batch / Distacco batch / Compressione batch / Salvataggio automatico / Distacco automatico / Compressione automatica

🌟Magia dell’interfaccia: 😊 Più emoji graziose e accattivanti / Ti avvisa all’arrivo di email importanti / Riduci a icona Outlook invece di chiuderlo...

👍Meraviglie con un clic: Rispondi a Tutti con Allegati / Email anti-phishing / 🕘 Mostra il fuso orario – Ora corrente del mittente...

👩🏼‍🤝‍👩🏻Contatti e calendario: Aggiungi contatti in blocco dalle email selezionate / Dividi un gruppo di contatti in gruppi individuali / Rimuovi i promemoria dei compleanni...

Usa Kutools nella tua lingua preferita: supporta inglese, spagnolo, tedesco, francese, cinese e oltre 40 altre lingue!

Sblocca istantaneamente Kutools per Outlook con un solo clic! Non aspettare oltre: scaricalo ora e aumenta subito la tua efficienza!

kutools for outlook funzionalità1kutools for outlook funzionalità2

🚀 Download con un clic — Ottieni tutti i componenti aggiuntivi per Office

Fortemente consigliato: Kutools for Office (5-in-1)

Un clic per scaricare cinque programmi di installazionetutti insieme —Kutools per Excel, Outlook, Word, PowerPointe Office Tab Pro.Clicca per scaricare ora!

  • Comodità con un solo clic: scarica tutti e cinque i pacchetti di installazione in un’unica azione.
  • 🚀Pronto per qualsiasi attività in Office: installa i componenti aggiuntivi che ti servono, esattamente quando ti servono.
  • 🧰Inclusi: Kutools per Excel / Kutools per Outlook / Kutools per Word / Office Tab Pro / Kutools for PowerPoint