how to write a simple script in outlook 2007 to send one of a saved message in the draft folder to a particular recipient ?

I want to send a particular saved message prepared in the draft folders to another outsider email recipient  when I receive a email from somebody.
I know using rules can provide conditional filtering but it seems the rules cannot allow me to send a saved draft message to outside.  Besides, I have a lot of draft messages and will be sent according to different recipient.

Can someone please help?

peteryauAsked:
Who is Participating?
 
David LeeConnect With a Mentor Commented:
Try removing line #9.  That will definitely fix item #2 and may fix #1 also.
0
 
David LeeCommented:
Hi, peteryau.

Here's the code for doing this.  Follow these instructions to use it.

1.  Start Outlook
2.  Click Tools->Macro->Visual Basic Editor
3.  If not already expanded, expand Microsoft Office Outlook Objects and click on Module1
4.  Copy the code from the Code Snippet box and paste it into the right-hand pane of Outlook's VB Editor window
5.  Edit the code as needed.  I included comments wherever something needs to or can change
6.  Click the diskette icon on the toolbar to save the changes
7.  Close the VB Editor
8.  Click Tools->Macro->Security
9.  Set the Security Level to Medium
10.  Close Outlook
11.  Start Outlook
12.  Create a rule
13.  Set the rule's action to "run a script"
14.  Select this script as the script to run

You can duplicate this code as many times as necessary to handle different rules.  You just need to change the name of the subroutine so it's unique and edit the subject text on line #5 of the code.
Sub DraftReply1(Item As Outlook.MailItem)
    Dim olkReply As Outlook.MailItem, olkDraft As Outlook.MailItem
    On Error Resume Next
    'Change the subject text on the following line'
    Set olkDraft = Session.GetDefaultFolder(olFolderDrafts).Items.Find("[Subject]='Some Subject'")
    On Error GoTo 0
    If TypeName(olkDraft) = "MailItem" Then
        Set olkReply = olkDraft.Copy
        olkReply.Recipients.Add Item.SenderEmailAddress
        olkReply.Send
    End If
    Set olkDraft = Nothing
    Set olkReply = Nothing
End Sub

Open in new window

0
 
peteryauAuthor Commented:
It works !!  but there some issues on
1) outlook prompt a dialogue everytime to manually click to allow access to the data, is there any setting I can do to get rid of it.  
2 ) Besides, the above code automatically also reply to the sender.  How can I change the code to only send to the defined recipient in the draft message in the draft folder? I don't need to reply to the sender.

Thank you for your help.
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
peteryauAuthor Commented:
Great !!!  10 out of 10 fast and accurate. I appreciate.  Thank you very much.
By the way, I am sort out other small macros in outlook which I think may need your help again...
0
 
peteryauAuthor Commented:
You are so great!!! Thank you. BTW, I am sorting out other macros I need in outlook automation.   I probably need your help again.  I will post it later.
Thanks again.
0
 
David LeeCommented:
Thanks and you're welcome.  If you ever want to draw my attention to a question, then you're welcome to send me an email with a link to the question.  My address is in my profile.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.