Salt la conținutul principal

 Cum să trimiteți automat un mesaj de întâmpinare unui contact dacă ziua lui de naștere este astăzi în Outlook?

Uneori, poate doriți să trimiteți automat un mesaj de întâmpinare la persoana de contact atunci când ziua lui de naștere este astăzi în Outlook. Va fi o treabă plictisitoare când verificați ziua de naștere a contactului unul câte unul și trimiteți manual e-mailurile de salut. În acest articol, voi introduce un cod VBA pentru a-l rezolva rapid și ușor.

Trimiteți automat un mesaj de întâmpinare unui contact pe baza zilei de naștere a acestuia cu cod VBA în Outlook


Trimiteți automat un mesaj de întâmpinare unui contact pe baza zilei de naștere a acestuia cu cod VBA în Outlook

Pentru a trimite automat un mesaj de întâmpinare unui contact dacă ziua lui de naștere este astăzi, introduceți mai întâi un cod VBA, apoi trebuie să creați o sarcină recurentă pentru a declanșa codul.

Următorii pași vă pot ajuta:

1. Lansați Outlook, apoi țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În Microsoft Visual Basic pentru aplicații fereastră, faceți dublu clic Această sesiune Outlook de la Project1 (VbaProject.OTM) pentru a deschide modul, apoi copiați și lipiți următorul cod în modulul gol.

Cod VBA: trimite automat un mesaj de salut unui contact pe baza zilei de naștere:

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. Apoi clcik Instrumente > Referinte în Microsoft Visual Basic pentru aplicații fereastră, în fereastra ieșită Referințe-Proiect1 casetă de dialog, bifați Biblioteca de obiecte Microsoft Word și Runtime Microsoft Scripting opțiuni din Referințe disponibile casetă listă, vezi captura de ecran:

4. Apoi apasa OK pentru a închide dialogul, acum, ar trebui să creați o sarcină pentru a declanșa codul VBA. Vă rugăm să mergeți la Sarcină fereastră, faceți clic pe Sarcina noua pentru a crea o sarcină:

(1.) În Subiectlinia t, ar trebui să introduceți Subiect ca Trimiteți un e-mail de felicitare pentru ziua de naștere;

(2.) Apoi faceți clic pe Repetare în temeiul Sarcină filă;

(3.) În Repetarea sarcinilor fereastră de dialog, selectați Zilnic și specificați la fiecare 1 zi (zile) opțiune de la Model de recurență secțiune;

5. Apoi apasa OK pentru a închide caseta de dialog, reveniți la fereastra sarcinii, vă rugăm să setați un memento pentru sarcina recurentă, după cum se arată în următoarea captură de ecran:

6. De acum înainte, când memento-ul avertizează, macro-ul va fi declanșat imediat. Se va afișa o casetă de dialog pentru a vă reaminti să introduceți felicitări de ziua de naștere, după cum se arată în următoarea captură de ecran:

7. Apoi apasa OK buton, un mesaj de felicitare va fi trimis contactului a cărui zi de naștere este astăzi automat.


Cele mai bune instrumente de productivitate de birou

Kutools pentru Outlook - Peste 100 de funcții puternice pentru a vă supraalimenta Outlook

📧 Automatizare e-mail: În afara biroului (disponibil pentru POP și IMAP)  /  Programați trimiterea de e-mailuri  /  CC/BCC automat după reguli la trimiterea e-mailului  /  Redirecționare automată (Reguli avansate)   /  Adăugare automată felicitare   /  Împărțiți automat e-mailurile cu mai mulți destinatari în mesaje individuale ...

📨 Managementul e-mail: Amintește-ți cu ușurință e-mailurile  /  Blocați e-mailurile înșelătorii de către subiecți și alții  /  Ștergeți e-mailurile duplicate  /  Cautare Avansata  /  Consolidați foldere ...

📁 Atașamente ProSalvați în serie  /  Detașare lot  /  Compresă în loturi  /  Salvare automata   /  Detașare automată  /  Comprimare automată ...

🌟 Magia interfeței: 😊Mai multe emoji drăguțe și cool   /  Îmbunătățiți-vă productivitatea Outlook cu vizualizările cu file  /  Minimizați Outlook în loc să închideți ...

???? Minuni cu un singur clic: Răspundeți tuturor cu atașamentele primite  /   E-mailuri anti-phishing  /  🕘Afișați fusul orar al expeditorului ...

👩🏼‍🤝‍👩🏻 Contacte și calendar: Adăugați în lot contacte din e-mailurile selectate  /  Împărțiți un grup de contact în grupuri individuale  /  Eliminați mementouri de ziua de naștere ...

Peste 100 Caracteristici Așteaptă explorarea ta! Click aici pentru a descoperi mai multe.

 

 

Comments (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Good morning,
I've set this up exactly as outlined, I have Kutools installed, however, there's no Macro popup when the reminder activates. What information can I provide you to help me solve this?
This comment was minimized by the moderator on the site
how he come to know who's birthday is today.you not mention, from where he pick detail of the employee.one more thing, i want to send birthday mail to all employee email id.
This comment was minimized by the moderator on the site
I am using this code with outlook 2016. Followed all the steps but kutool popup is not coming as mentioned in last step
This comment was minimized by the moderator on the site
hay alguna forma para mac?
This comment was minimized by the moderator on the site
Buen día, podría indicar cómo el código obtiene y valida la fecha de nacimiento??? . Otra consulta es si funciona para una lista de usuarios. Es decir que valide sus fechas de nacimiento y les envíe automáticamente saludos de cumpleaños. Muchas gracias
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations