Come inviare automaticamente un messaggio di auguri a un contatto in Outlook quando oggi è il suo compleanno?
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
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 
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!
📧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!


🚀 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