Przejdź do głównej zawartości

 Jak automatycznie wysłać wiadomość powitalną do kontaktu, jeśli jego urodziny są dzisiaj w Outlooku?

Czasami możesz chcieć automatycznie wysłać wiadomość powitalną do kontaktu, gdy jego urodziny są dzisiaj w programie Outlook. Będzie to żmudna praca, gdy sprawdzisz datę urodzenia kontaktu jeden po drugim i ręcznie wyślesz e-maile z pozdrowieniami. W tym artykule przedstawię kod VBA, aby szybko i łatwo go rozwiązać.

Wysyłaj automatycznie powitanie do kontaktu na podstawie jego urodzin za pomocą kodu VBA w Outlooku


Wysyłaj automatycznie powitanie do kontaktu na podstawie jego urodzin za pomocą kodu VBA w Outlooku

Aby automatycznie wysłać wiadomość powitalną do kontaktu, jeśli jego urodziny są dzisiaj, najpierw wstaw kod VBA, a następnie musisz utworzyć zadanie cykliczne, które wyzwoli kod.

Poniższe kroki mogą ci pomóc:

1. Uruchom program Outlook, a następnie przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2, w Microsoft Visual Basic for Applications kliknij dwukrotnie Ta sesja programu Outlook z Project1 (VbaProject.OTM) okienko, aby otworzyć tryb, a następnie skopiuj i wklej następujący kod do pustego modułu.

Kod VBA: Automatyczne wysyłanie powitania do kontaktu na podstawie urodzin:

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. Następnie kliknij Tools > Referencje Microsoft Visual Basic for Applications okno, w wyskakującym oknie Referencje-projekt 1 okno dialogowe, zaznacz Biblioteka obiektów programu Microsoft Word i Środowisko wykonawcze skryptów firmy Microsoft Microsoft opcje z Dostępne referencje pole listy, zobacz zrzut ekranu:

4. Następnie kliknij OK aby zamknąć okno dialogowe, należy teraz utworzyć zadanie uruchamiające kod VBA. Proszę udać się do Zadanie okienko, kliknij Nowe zadanie aby utworzyć zadanie:

(1 w Przedmiott, należy wpisać Temat jako Wyślij pocztę z życzeniami urodzinowymi;

(2.) Następnie kliknij Nawrót pod Zadanie patka;

(3.) W Powtarzanie zadań okno dialogowe, wybierz Daily i określić co 1 dzień(y) opcja z Wzór nawrotu Sekcja;

5. Następnie kliknij OK aby zamknąć okno dialogowe, wróć do okna zadania, ustaw przypomnienie dla zadania cyklicznego, jak pokazano na zrzucie ekranu:

6. Od tego momentu, gdy pojawi się przypomnienie, makro zostanie uruchomione natychmiast. Pojawi się okno dialogowe przypominające o wstawieniu życzeń urodzinowych, jak pokazano na poniższym zrzucie ekranu:

7. Następnie kliknij OK przycisk, wiadomość z pozdrowieniami zostanie automatycznie wysłana do kontaktu, którego urodziny wypadają dzisiaj.


Najlepsze narzędzia biurowe

Kutools dla programu Outlook - Ponad 100 zaawansowanych funkcji, które usprawnią Twoje perspektywy

🤖 Asystent poczty AI: Natychmiastowe profesjonalne e-maile z magią AI — genialne odpowiedzi jednym kliknięciem, doskonały ton, biegła znajomość wielu języków. Zmień e-mailing bez wysiłku! ...

📧 Automatyzacja poczty e-mail: Poza biurem (dostępne dla POP i IMAP)  /  Zaplanuj wysyłanie wiadomości e-mail  /  Automatyczne CC/BCC według reguł podczas wysyłania wiadomości e-mail  /  Automatyczne przewijanie (Zasady zaawansowane)   /  Automatyczne dodawanie powitania   /  Automatycznie dziel wiadomości e-mail od wielu odbiorców na pojedyncze wiadomości ...

📨 Zarządzanie e-mail: Łatwe przywoływanie e-maili  /  Blokuj oszukańcze wiadomości e-mail według tematów i innych  /  Usuń zduplikowane wiadomości e-mail  /  Wiecej opcji  /  Konsoliduj foldery ...

📁 Załączniki ProZapisz zbiorczo  /  Odłącz partię  /  Kompresuj wsadowo  /  Automatyczne zapisywanie   /  Automatyczne odłączanie  /  Automatyczna kompresja ...

🌟 Magia interfejsu: 😊Więcej ładnych i fajnych emotikonów   /  Zwiększ produktywność programu Outlook dzięki widokom na kartach  /  Zminimalizuj program Outlook zamiast go zamykać ...

>> Cuda jednym kliknięciem: Odpowiedz wszystkim, dodając przychodzące załączniki  /   E-maile chroniące przed phishingiem  /  🕘Pokaż strefę czasową nadawcy ...

👩🏼‍🤝‍👩🏻 Kontakty i kalendarz: Grupowe dodawanie kontaktów z wybranych e-maili  /  Podziel grupę kontaktów na pojedyncze grupy  /  Usuń przypomnienia o urodzinach ...

O Cechy 100 Poczekaj na eksplorację! Kliknij tutaj, aby dowiedzieć się więcej.

 

 

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