Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

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

Posted on 2008-10-14
6
2,546 Views
Last Modified: 2013-11-30
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?

0
Comment
Question by:peteryau
  • 3
  • 3
6 Comments
 
LVL 76

Expert Comment

by:David Lee
ID: 22710823
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
 

Author Comment

by:peteryau
ID: 22714226
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
 
LVL 76

Accepted Solution

by:
David Lee earned 250 total points
ID: 22720459
Try removing line #9.  That will definitely fix item #2 and may fix #1 also.
0
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 

Author Comment

by:peteryau
ID: 22723630
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
 

Author Closing Comment

by:peteryau
ID: 31505847
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
 
LVL 76

Expert Comment

by:David Lee
ID: 22723813
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

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you have clients or friends from around the world, it becomes a challenge to arrange a meeting or effectively manage your time. This is where Outlook's capability to show 2 time zones in one calendar comes in handy.
With User Account Control (UAC) enabled in Windows 7, one needs to open an elevated Command Prompt in order to run scripts under administrative privileges. Although the elevated Command Prompt accomplishes the task, the question How to run as script…
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…
Many of my clients call in with monstrous Gmail overloading issues with Outlook. A quick tip is to turn off the All Mail and Important folders from synching. Here is a quick video I made to show you how to turn off these and other folders in Gmail s…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question