Skip to main content

Kutools for Office — Bir Paket. Beş Araç. Daha Fazla İş Yapın.

 Bir kişinin doğum günü bugünse Outlook'ta ona otomatik olarak selamlama mesajı nasıl gönderilir?

Author Xiaoyang Last modified

Bazen, bir kişinin doğum günü bugün olduğunda ona otomatik olarak selamlama mesajı göndermek isteyebilirsiniz. Kişi başlıklarını tek tek kontrol etmek ve selamlama e-postalarını manuel olarak göndermek oldukça yorucu bir iş olabilir. Bu makalede, bu sorunu hızlı ve kolay bir şekilde çözmek için size bir VBA kodu tanıtacağım.

Outlook'ta VBA kodu kullanarak bir kişinin doğum gününe göre otomatik olarak selamlama mesajı gönderin


Outlook'ta VBA kodu kullanarak bir kişinin doğum gününe göre otomatik olarak selamlama mesajı gönderin

Eğer bir kişinin doğum günü bugünse ona otomatik olarak selamlama mesajı göndermek için önce bir VBA kodu eklemeniz gerekir, ardından kodu tetiklemek için tekrarlanan bir görev oluşturmanız gerekmektedir.

Aşağıdaki adımlar size yardımcı olabilir:

1. Outlook'u başlatın ve ardından ALT + F11 tuşlarına basılı tutarak Microsoft Visual Basic for Applications penceresini açın.

2. Microsoft Visual Basic for Applications penceresinde, Project1(VbaProject.OTM) bölmesinden ThisOutlookSession öğesine çift tıklayın, modu açın ve ardından aşağıdaki kodu boş modüle kopyalayıp yapıştırın.

VBA Kodu: Doğum gününe göre bir kişiye otomatik olarak selamlama mesajı gönderme:

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 
the screenshot of step about using vba to send a greeting message to a contact automatically if his birthday is today in Outlook 1

3. Ardından, Microsoft Visual Basic for Applications penceresinde Tools > References (Araçlar > Referanslar) seçeneğine tıklayın, açılan References-Project1 iletişim kutusunda, Available References (Kullanılabilir Referanslar) listesinden Microsoft Word Object Library ve Microsoft Scripting Runtime seçeneklerini işaretleyin, aşağıdaki ekran görüntüsüne bakın:

4. Ardından iletişim kutusunu kapatmak için OK (Tamam) düğmesine tıklayın, şimdi VBA kodunu tetiklemek için bir görev oluşturmalısınız. Lütfen Görev bölmesine gidin ve Yeni Görev (New Task) seçeneğine tıklayarak bir görev oluşturun:

(1.) Konu satırında, Konu olarak 'Doğum Günü Selamlama E-postası Gönder' yazmalısınız;

(2.) Ardından Görev sekmesi altında Tekrarlama (Recurrence) seçeneğine tıklayın;

(3.) Görev Tekrarlama (Task Recurrence) iletişim kutusunda, Günlük (Daily) seçeneğini işaretleyin ve Tekrarlama Deseni (Recurrence pattern) bölümünden her 1 gün (every 1 day(s)) seçeneğini belirtin;

5. Ardından iletişim kutusunu kapatmak için Tamam ( OK) düğmesine tıklayın, görev penceresine geri dönün, lütfen aşağıdaki ekran görüntüsünde gösterildiği gibi tekrarlanan görev için bir hatırlatma ayarlayın:

6. Artık, hatırlatıcı uyarısı geldiğinde makro hemen tetiklenecektir. Aşağıdaki ekran görüntüsünde gösterildiği gibi doğum günü selamlarını eklemenizi hatırlatan bir iletişim kutusu açılacaktır:

7. Ardından Tamam (OK) düğmesine tıklayın, doğum günü bugün olan kişiye otomatik olarak selamlama e-postası gönderilecektir.


En İyi Ofis Verimlilik Araçları

Son Dakika: Kutools for Outlook Ücretsiz Sürümünü Sunmaya Başladı!

Yepyeni Kutools for Outlook ile100'den fazla etkileyici özelliği deneyimleyin! Şimdi indir!

🤖 Kutools AI : Gelişmiş yapay zeka teknolojisi sayesinde e-postalarınızı kolayca yönetir; yanıtlama, özetleme, optimize etme, uzatma, çeviri ve e-posta oluşturma işlemlerini zahmetsizce gerçekleştirir.

📧 E-posta Otomasyonu: Otomatik Yanıt (POP ve IMAP için kullanılabilir) / E-posta Gönderimini Zamanla / E-posta Gönderirken Kurala Göre Otomatik CC/BCC / Gelişmiş Kurallar ile Otomatik Yönlendirme / Selamlama Ekle / Çoklu Alıcılı E-postaları Otomatik Olarak Bireysel Mesajlara Böl...

📨 E-posta Yönetimi: E-postayı Geri Çağır / Konu veya diğer kriterlere göre dolandırıcılık amaçlı e-postaları engelle / Yinelenen e-postaları sil / Gelişmiş Arama / Klasörleri Düzenle...

📁 Ekler Pro: Toplu Kaydet / Toplu Ayır / Toplu Sıkıştır / Otomatik Kaydet / Otomatik Ayır / Otomatik Sıkıştır...

🌟 Arayüz Büyüsü: 😊 Daha Fazla Şık ve Eğlenceli Emoji / Önemli e-postalar geldiğinde uyarı / Outlook'u kapatmak yerine küçült...

👍 Tek Tıkla Harikalar: Tümüne Eklerle Yanıtla / Kimlik Avı E-postalarına Karşı Koruma / 🕘 Gönderenin Saat Dilimini Göster...

👩🏼‍🤝‍👩🏻 Kişiler & Takvim: Seçilen E-postalardan Toplu Kişi Ekle / Bir Kişi Grubunu Bireysel Gruplara Böl / Doğum günü hatırlatıcısını kaldır...

Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve40'tan fazla başka dili destekler!

Tek tıkla Kutools for Outlook'u anında etkinleştirin. Beklemeyin, hemen indirin ve verimliliğinizi artırın!

kutools for outlook features1 kutools for outlook features2

🚀 Tek Tıkla İndir — Tüm Ofis Eklentilerini Edinin

Şiddetle Tavsiye Edilen: Kutools for Office (5'i1 arada)

Tek tıkla beş kurulum paketini birden indirin — Kutools for Excel, Outlook, Word, PowerPoint ve Office Tab Pro. Şimdi indir!

  • Tek tık kolaylığı: Beş kurulum paketinin hepsini tek seferde indirin.
  • 🚀 Her türlü Ofis görevi için hazır: İhtiyacınız olan eklentileri istediğiniz zaman yükleyin.
  • 🧰 Dahil olanlar: Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint