Přejít k hlavnímu obsahu

 Jak automaticky odeslat uvítací zprávu kontaktu, pokud má dnes narozeniny v Outlooku?

Autor: Xiaoyang Naposledy změněno: 2018-04-10

Někdy budete možná chtít automaticky odeslat uvítací zprávu kontaktu, až bude mít dnes v Outlooku narozeniny. Bude to zdlouhavá práce, když po jednom zkontrolujete narozeniny kontaktu a ručně pošlete e-maily s pozdravem. V tomto článku uvedu kód VBA, který jej rychle a snadno vyřeší.

Odešlete automaticky uvítací zprávu kontaktu na základě jeho narozenin s kódem VBA v aplikaci Outlook


Odešlete automaticky uvítací zprávu kontaktu na základě jeho narozenin s kódem VBA v aplikaci Outlook

Chcete-li automaticky odeslat uvítací zprávu kontaktu, pokud má dnes narozeniny, vložte nejprve kód VBA a poté musíte vytvořit opakující se úlohu, která kód aktivuje.

Následující kroky vám mohou pomoci:

1. Spusťte aplikaci Outlook a poté podržte klávesu ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace okno, dvakrát klikněte ThisOutlookSession z Project1 (VbaProject.OTM) v podokně otevřete režim a poté zkopírujte a vložte následující kód do prázdného modulu.

Kód VBA: Automatické odeslání uvítací zprávy kontaktu na základě narozenin:

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. Pak clcik Tools > Reference v Microsoft Visual Basic pro aplikace okno, ve vyskakovacím okně Reference-Project1 v dialogovém okně zaškrtněte Objektová knihovna Microsoft Word a Microsoft Scripting Runtime možnosti z Dostupné reference seznam, viz screenshot:

4. Pak klikněte na tlačítko OK pro zavření dialogu byste nyní měli vytvořit úlohu pro spuštění kódu VBA. Přejděte prosím na Úkol podokno, klepněte na tlačítko Nový úkol vytvořit úkol:

(1.) V Předmětt řádku, měli byste zadat Předmět jako Pošlete blahopřání k narozeninám;

(2.) Poté klikněte Opakování pod Úkol karta;

(3.) V Opakování úkolu dialogové okno vyberte Denní a upřesnit každý 1 den (dny) možnost z nabídky Vzor opakování sekce;

5. Pak klikněte na tlačítko OK Chcete-li zavřít dialogové okno, vraťte se do okna úlohy, nastavte připomenutí pro opakující se úlohu, jak je znázorněno na následujícím obrázku:

6. Od této chvíle, když připomenutí upozorní, bude makro okamžitě spuštěno. Zobrazí se dialogové okno, které vám připomene vložení blahopřání k narozeninám, jak je znázorněno na následujícím obrázku:

7. Pak klikněte na tlačítko OK tlačítko, bude automaticky odeslán uvítací e-mail kontaktu, jehož narozeniny jsou dnes.


Nejlepší nástroje pro produktivitu v kanceláři

Kutools pro aplikaci Outlook - Více než 100 výkonných funkcí, které doplní váš Outlook

🤖 AI Mail Assistant: Okamžité profesionální e-maily s magií umělé inteligence – jedním kliknutím získáte geniální odpovědi, perfektní tón, vícejazyčné ovládání. Transformujte e-maily bez námahy! ...

???? Automatizace e-mailu: Mimo kancelář (k dispozici pro POP a IMAP)  /  Naplánujte odesílání e-mailů  /  Automatická kopie/skrytá kopie podle pravidel při odesílání e-mailu  /  Automatické přeposílání (pokročilá pravidla)   /  Automatické přidání pozdravu   /  Automaticky rozdělte e-maily pro více příjemců na jednotlivé zprávy ...

📨 Email management: Snadné vyvolání e-mailů  /  Blokujte podvodné e-maily podle předmětů a dalších  /  Odstranit duplicitní e-maily  /  pokročilé vyhledávání  /  Konsolidovat složky ...

📁 Přílohy ProDávkové uložení  /  Dávkové odpojení  /  Dávková komprese  /  Automaticky uložit   /  Automatické odpojení  /  Automatické komprimování ...

???? Rozhraní Magic: 😊 Více pěkných a skvělých emotikonů   /  Zvyšte produktivitu své aplikace Outlook pomocí zobrazení s kartami  /  Minimalizujte aplikaci Outlook namísto zavírání ...

???? Zázraky na jedno kliknutí: Odpovědět všem s příchozími přílohami  /   E-maily proti phishingu  /  🕘Zobrazit časové pásmo odesílatele ...

👩🏼‍🤝‍👩🏻 Kontakty a kalendář: Dávkové přidání kontaktů z vybraných e-mailů  /  Rozdělit skupinu kontaktů na jednotlivé skupiny  /  Odeberte připomenutí narozenin ...

Přes 100 Vlastnosti Očekávejte svůj průzkum! Kliknutím sem zobrazíte další informace.

Více       Stažení zdarma      Nákup
 

 

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