[Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 326
  • Last Modified:

Send amil to a user with many in CC.Need to automate the process.

Hi,

Need to send mails every day to many users for their Birthdays.What is the best way of doing this.This is sent to the user in the To and the whole staff that are in a group in the CC.
Is there a easy way of doing this.Every user has to get invividual mails and the whole staff in Cc.Name has to be as

Hi username
and the user in the To tab.
The others in the CC
The mail has backgroud and pictures in it. Any way to automate this or any better ideas are appretiated.

Any help with this.

Regards
Sharath
0
bsharath
Asked:
bsharath
  • 14
  • 5
  • 3
1 Solution
 
David LeeCommented:
Hi, Sharath.

How do you keep track of their birthdays, and will all messages be cc'd to the same group of people?  If not, how can we tell who is cc'd on which messages?
0
 
bsharathAuthor Commented:
I have a excel that has
Colum A Name and Colum B the date in MM/DD/YYY format
Yes all messages will be Cc'd to the same group always just the names will differ
0
 
bsharathAuthor Commented:
Any help....
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
David LeeCommented:
Try this.  It will mail a birthday message to every entry in the spreadsheet.  We can modify it to only send messages to birthdays matching today's date or to those within a certain number of days of today.
Sub SendBirthdayMessage()
    Dim excApp As Object, _
        excBook As Object, _
        excSheet As Object, _
        olkMessage As Outlook.MailItem, _
        intRow As Integer
    Set excApp = CreateObject("Excel.Application")
    'Change the file name and path on the following line as needed
    Set excBook = excApp.Workbooks.Open("C:\eeTesting\Birthdays.xls")
    Set excSheet = excBook.Worksheets(1)
    intRow = 1
    Do Until excSheet.Cells(intRow, 1) = ""
        Set olkMessage = Application.CreateItem(olMailItem)
        With olkMessage
            .Recipients.Add excSheet.Cells(intRow, 1)
            .Recipients.ResolveAll
            'Change the subject line as needed
            .Subject = "Happy Birthday"
            'Insert your HTML on the following line.  You can insert the HTML directly or read it in from a file.  The HTML can be anything you want it to be.
            .HTMLBody = "Your HTML goes here"
            .Send
        End With
        Set olkMessage = Nothing
    Loop
    excBook.Close False
    Set excSheet = Nothing
    Set excBook = Nothing
    Set excApp = Nothing
    MsgBox "All done.", vbOKOnly + vbInformation, "Send Birthday Greetings"
End Sub

Open in new window

0
 
bsharathAuthor Commented:
How should the data in the excel be.
Can you modify according to this Question please...
http://www.experts-exchange.com/Programming/Languages/Q_22997456.html
0
 
David LeeCommented:
Well, according to what you posted in this question the data would be in the format

Name        Birthday
Sharath    12/12/1967

If you want to change it to this format

Bdate Date            Username    Email Address        Groupname    Username/Groupname
12/12/1967           Sharath        Sharath@plc.com   Group1          User1/group1

then use the code below
Sub SendBirthdayMessage()
    Dim excApp As Object, _
        excBook As Object, _
        excSheet As Object, _
        olkMessage As Outlook.MailItem, _
        intRow As Integer
    Set excApp = CreateObject("Excel.Application")
    'Change the file name and path on the following line as needed
    Set excBook = excApp.Workbooks.Open("C:\eeTesting\Birthdays.xls")
    Set excSheet = excBook.Worksheets(1)
    intRow = 1
    Do Until excSheet.Cells(intRow, 1) = ""
        If CDate(excSheet.Cells(intRow, 1) = Date() Then
            Set olkMessage = Application.CreateItem(olMailItem)
            With olkMessage
                .Recipients.Add excSheet.Cells(intRow, 3)
                .Recipients.ResolveAll
                .CC = excSheet.Cells(intRow, 4)
                'Change the subject line as needed
                .Subject = "Happy Birthday"
                'Insert your HTML on the following line.  You can insert the HTML directly or read it in from a file.  The HTML can be anything you want it to be.
            .HTMLBody = "Your HTML goes here"
            .Send
        End With
        Set olkMessage = Nothing
    Loop
    excBook.Close False
    Set excSheet = Nothing
    Set excBook = Nothing
    Set excApp = Nothing
    MsgBox "All done.", vbOKOnly + vbInformation, "Send Birthday Greetings"
End Sub

Open in new window

0
 
bsharathAuthor Commented:
Is this a outlook macro?
I get a compile error here
        If CDate(excSheet.Cells(intRow, 1) = Date() Then

Is a Bracket missing?
0
 
bsharathAuthor Commented:
For both the questions its the same results that i need.
1. Automate the process in outlook to find the date and if the date is todays date then send a mail to all the bday members with some users in CC.
0
 
David LeeCommented:
Oops, sorry.  Yes, it is an Outlook macro and yes a parenthesis is missing.  The line should read

    If CDate(excSheet.Cells(intRow, 1)) = Date() Then
0
 
bsharathAuthor Commented:
I get this

---------------------------
Microsoft Visual Basic
---------------------------
Compile error:

Loop without Do
---------------------------
OK   Help  
---------------------------
0
 
David LeeCommented:
Oops.  Try this.
Sub SendBirthdayMessage()
    Dim excApp As Object, _
        excBook As Object, _
        excSheet As Object, _
        olkMessage As Outlook.MailItem, _
        intRow As Integer
    Set excApp = CreateObject("Excel.Application")
    'Change the file name and path on the following line as needed
    Set excBook = excApp.Workbooks.Open("C:\eeTesting\Birthdays.xls")
    Set excSheet = excBook.Worksheets(1)
    intRow = 1
    Do Until excSheet.Cells(intRow, 1) = ""
        If CDate(excSheet.Cells(intRow, 1) = Date() Then
            Set olkMessage = Application.CreateItem(olMailItem)
            With olkMessage
                .Recipients.Add excSheet.Cells(intRow, 3)
                .Recipients.ResolveAll
                .CC = excSheet.Cells(intRow, 4)
                'Change the subject line as needed
                .Subject = "Happy Birthday"
                'Insert your HTML on the following line.  You can insert the HTML directly or read it in from a file.  The HTML can be anything you want it to be.
                .HTMLBody = "Your HTML goes here"
                .Send
            End With
        End If
        Set olkMessage = Nothing
    Loop
    excBook.Close False
    Set excSheet = Nothing
    Set excBook = Nothing
    Set excApp = Nothing
    MsgBox "All done.", vbOKOnly + vbInformation, "Send Birthday Greetings"
End Sub

Open in new window

0
 
bsharathAuthor Commented:
I get a Run time error 13
in this line when clicked debug
 If CDate(excSheet.Cells(intRow, 1)) = Date Then
0
 
bsharathAuthor Commented:
Any help...
0
 
bsharathAuthor Commented:
Any help...
0
 
bsharathAuthor Commented:
David if time permits plz have a look on this...
0
 
chandru_solCommented:
Sharath,

Hope you are doing good.

Did you get any update on this?

regards
Chandru
0
 
bsharathAuthor Commented:
Hi Chandru long time....i am fine how are you...

>>Did you get any update on this?
Sorry could not follow
0
 
chandru_solCommented:
i was out of country for a project and a bit busy.

Did you get this birthday greetings working?

Chandru
0
 
bsharathAuthor Commented:
Not exactly chandru i get the Runtime error.
0
 
bsharathAuthor Commented:
Not exactly chandru i get the Runtime error.
0
 
chandru_solCommented:
i would also require this for birthday wishes. I am not sure about macros in excel.
0

Featured Post

Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

  • 14
  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now