Bir kişinin doğum günü bugünse Outlook'ta ona otomatik olarak selamlama mesajı nasıl gönderilir?
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
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

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ı
Flaş Haber: Kutools for Outlook Ücretsiz Sürümü Yayında!
Yepyeni Kutools for Outlook'u100’den fazla harika özellikle deneyimleyin! Hemen indirin!
📧 E-posta Otomasyonu: Otomatik Yanıt (POP ve IMAP için Mevcut) / E-postaları Zamanla Gönder / Gönderirken Kural ile Otomatik CC/BCC / Otomatik Yönlendirme (Gelişmiş Kurallar) / Otomatik Selamlama Ekle / Birden Fazla Alıcılı E-postaları Otomatik Olarak Bireysel E-postalara Böl ...
📨 E-posta Yönetimi: E-postayı Geri Çağır / Konu ve Diğerlerine Göre Sahtekarlık E-postalarını 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 Sihri: 😊Daha Fazla Şık ve Güzel Emoji / Önemli e-postalar geldiğinde seni uyarır / Outlook’u Kapatmak Yerine Küçült ...
👍 Tek Tıkla Harikalar: Tümüne Eklerle Yanıtla / Kimlik Avı (Phishing) E-postalarına Karşı Koruma / 🕘Gönderenin Saat Dilimini Göster ...
👩🏼🤝👩🏻 Kişiler & Takvim: Seçili 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 dil desteği!

