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?

[Webinar] Streamline your web hosting managementRegister Today

x
 
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
Easily manage email signatures in Office 365

Managing email signatures in Office 365 can be a challenging task if you don't have the right tool. CodeTwo Email Signatures for Office 365 will help you implement a unified email signature look, no matter what email client is used by users. Test it for free!

 
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
All Courses

From novice to tech pro — start learning today.