Send a greeting message to a contact on birthday

Post number 5 has been selected as the best answer.

Status
Not open for further replies.

gaib

Member
Outlook version
Outlook 2016 64 bit
Email Account
POP3
I found this macro which seems to be reasonably close to what I'm looking for.


My question! How can I just run this macro when I want and it searches the calendar for any birthday's on that particular day?

I don't really want to setup a task for this to fire automatically.
 
I have this macro which creates deferred messages - it could easily be tweaked to look for b-days 'today' and send the message.
 
Hi Diane and thank you for the help. I was able to get this macro to work by selecting the contact and running the macro, but if not to much trouble, I would love to know how to loop thru the "today" birthday's and display versus send.
 
looping the folder is easy - but if you have many contacts, filtering the dates would be faster than looping each contact. I'll take a look at it.
 
This will loop through each contact and check for an upcoming birthday then prepare a birthday email that will be sent the morning of their birthday.

Code:
Public Sub SendDeferredBirthdayGreetings()

Dim bday

Dim objOL As Outlook.Application
    Dim objItems As Outlook.Items
    Dim objFolder As Outlook.MAPIFolder
    Dim obj As Object
 
    Set objOL = Outlook.Application
    Set objFolder = objOL.ActiveExplorer.currentFolder
    Set objItems = objFolder.Items
 
    For Each obj In objItems


If TypeName(obj) = "ContactItem" Then

 Set oContact = obj
'uses "this" year
 bday = DateSerial(Year(Now), Month(oContact.Birthday), Day(oContact.Birthday))
 
 ' check for upcoming birthdays this week
If bday > Date + 1 And bday < Date + 7 Then
 Debug.Print bday

' check for email address
If oContact.Email1Address = "" Then GoTo nextrecord

 bday = bday + 0.25 ' sets it for 6 am the day of the birthday

Dim objMsg As MailItem
Set objMsg = Application.CreateItem(olMailItem)

  objMsg.To = oContact.Email1Address
  objMsg.Subject = "Happy Birthday"
  objMsg.Body = "Hope your day is a happy one!"

  objMsg.DeferredDeliveryTime = bday

  'displays the message form so you can enter more text
  objMsg.Display
 
  'use this to send to outbox
  'objMsg.Send

  Set objMsg = Nothing
End If

End If

nextrecord:
Next
End Sub
 
This is perfect Diane. Thank you very much.
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
C Synchronization and taking forever to send Using Outlook 2
D Send on behalf of does not store the base mailbox Using Outlook 0
R Outlook 365 VBA AUTO SEND WITH DELAY FOR EACH EMAIL Outlook VBA and Custom Forms 0
S Outlook 2002- "Send" button has disappeared. Help please. Using Outlook 1
TomHuckstep Remove Send/Receive All Folders (IMAP/POP) button from Outlook 365 Ribbon Using Outlook 2
J Macro to send email as alias Outlook VBA and Custom Forms 0
F Add a category before "Send an Email When You Add an Appointment to Your Calendar" Outlook VBA and Custom Forms 0
W Outlook 365 I am getting the "Either there is no default mail client" error when I try to send an email on excel Office 365 Using Outlook 1
T Outlook 2010 recipient no longer shows in 'Send To' Using Outlook 0
Witzker Outlook 2019 Macro to send an Email Template from User Defined Contact Form Outlook VBA and Custom Forms 0
Geldner Tweak Junk Email Reporting tool to default to particular email on send? Using Outlook 3
Geldner Send / Receive a particular group via macro or single keypress Using Outlook 1
E Outlook - Macro - send list of Tasks which are not finished Outlook VBA and Custom Forms 3
L How to avoid issues with "Send on Behalf" Using Outlook 3
M Outlook 365 refuses to send email Using Outlook 0
A Change settings Send/receive VBA Outlook VBA and Custom Forms 0
M I cant send emails via Outlook in my W10 PC. Using Outlook 3
K Run a script rule to auto 'send again' on undeliverable emails? Outlook VBA and Custom Forms 1
T Outlook creates a copie of every mail I send Using Outlook.com accounts in Outlook 4
R How to restrict GWSMO sync to Outlook Send/Receive cycles Using Outlook 0
M Outlook, send to > mail recipient - results in plain text email Using Outlook 1
A Unflag Inbox and Flag Inbox with Orange Category After Item is send Outlook VBA and Custom Forms 3
glnz O365 - How to send from acct 2 but showing email name from acct 1 as From - alias? Using Outlook 0
S Outlook Macro to send auto acknowledge mail only to new mails received to a specific shared inbox Outlook VBA and Custom Forms 0
diver864 vba for a rule to automatically accept meeting requests with 'vacation' in subject, change to all-day event, change to free, don't send reply Outlook VBA and Custom Forms 1
PGSystemTester VBA To Change AppointmentItem.BusyStatus From MeetingItem Before Send Using Outlook 0
C Synchronizing subscribed folders causes hanging during send/receive process Using Outlook 2
M Extract all links from Outlook email, send to Excel Using Outlook 2
A VBA macro for 15 second loop in send and received just for 1 specific mailbox Outlook VBA and Custom Forms 1
O Outlook 365 - suddenly unable to send using Gmail POP3 Using Outlook 10
T After I send a new email, it remains in the Draft folder Using Outlook.com accounts in Outlook 3
B Programmatically force html send and insert clipboard contents into body Outlook VBA and Custom Forms 0
S Change VBA script to send HTML email instead of text Outlook VBA and Custom Forms 3
M ERROR: None of your email accounts could send to this recipient Using Outlook 2
C Send/receive error 80040119 Using Outlook 2
J Send Again NDR Outlook VBA and Custom Forms 1
J Add an Attachment Using an Array and Match first 17 Letters to Matching Template .oft to Send eMail Outlook VBA and Custom Forms 2
ChrisK2 Send email to advertise@slipstick.com fails: "The group advertising isn't set up to receive messages from..." Using Outlook 3
B resend if no reply and send an automatic reminder Outlook VBA and Custom Forms 0
F Send As a Gmail account via outlook Web Using Outlook 3
R auto send email when meeting closes from a shared calendar only Outlook VBA and Custom Forms 2
X Unable to send an email from one account to another on same PC Using Outlook 2
S Meeting Invite arrives from Wrong ("send-as") Sender Using Outlook 1
M VBA to send reminder email if no response Using Outlook 13
D Using a VBA Custom Form to Send Reoccurring Email Upon Task Completion Outlook VBA and Custom Forms 4
M Can't send email in outlook.com Using Outlook 9
R Can't Send calendar share invite Using Outlook 5
R Can't send messages to groups in Outlook Using Outlook 2
J Updating existing entry on shared calendar wants to send update from delegate Using Outlook 0
M Send/Receive error 0x800CCC0F Using Outlook 0

Similar threads

Back
Top