Solved

How do I set sent emails to specific folders?

Posted on 2008-10-14
7
255 Views
Last Modified: 2010-04-21
I know outlook has the ability to put sent emails in folders that you are replying from. What is a macro that will save ANY message (new messages, etc) in the CURRENTLY SELECTED folder?

I need the ability to save a sent message in the folder that is currently selected, no matter what or who I send it to.
0
Comment
Question by:Takamine334
  • 4
  • 3
7 Comments
 
LVL 76

Accepted Solution

by:
David Lee earned 500 total points
Comment Utility
Hi, Jason.

Outlook has a setting that does this for replies, but only replies.  Doing it for all items will require a bit of code like that below.  There are limitations to this though.  Every folder has a property called DefaultItemType that restricts the kind of items that can go in it.  A calendar folder can only contain appointments, a contacts folder only contacts, etc.  A calendar cannot contain a sent mail item and it's possible to send a message while viewing a calendar.  So, to avoid any errors, the code checks the current folder to see if it can hole a mail item.  If it can, then it saves the sent item there.  If not, then the sent item will go to Sent Items.  

This code must go in the ThisOutlookSession module.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

    Dim olkFolder As Outlook.MAPIFolder

    If Item.Class = olMail Then

        Set olkFolder = Application.ActiveExplorer.CurrentFolder

        Select Case olkFolder.DefaultItemType

            Case olMailItem, olPostItem

                Set Item.SaveSentMessageFolder = olkFolder

                Item.Save

        End Select

    End If

    Set olkFolder = Nothing

End Sub

Open in new window

0
 

Author Closing Comment

by:Takamine334
Comment Utility
Thank you! You saved me SOOOO much hassle! I work with one other client and this will make our job a lot easier. Thank you!!
0
 
LVL 76

Expert Comment

by:David Lee
Comment Utility
No problem.  Always glad to help out.
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 

Author Comment

by:Takamine334
Comment Utility
I'm sorry to further complicate things. Is there a way to only run this code if the folder selected is in the BOOKING PST?
0
 
LVL 76

Expert Comment

by:David Lee
Comment Utility
No problem.  Try this.  Notice the comments in the code.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

    Dim olkFolder As Outlook.MAPIFolder

    If Item.Class = olMail Then

        Set olkFolder = Application.ActiveExplorer.CurrentFolder

        'Replace Booking with the name of the folder as it appears in Outlook folder view

        If RootFolder(olkFolder) = "Booking" Then

            Select Case olkFolder.DefaultItemType

                Case olMailItem, olPostItem

                    Set Item.SaveSentMessageFolder = olkFolder

                    Item.Save

            End Select

        End If

    End If

    Set olkFolder = Nothing

End Sub
 

Function RootFolder(olkFolder As Outlook.Folder) As String

    Dim olkStore As Outlook.Store

    Set olkStore = Session.GetStoreFromID(olkFolder.StoreID)

    RootFolder = olkStore.DisplayName

    Set olkStore = Nothing

End Function

Open in new window

0
 

Author Comment

by:Takamine334
Comment Utility
Thank you so much!
0
 
LVL 76

Expert Comment

by:David Lee
Comment Utility
No problem.
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Granting full access permission allows users to access mailboxes present in their database. By giving full access permission one can open and read the content of any mailbox but cannot send emails from that mailbox.
Following basic email etiquette rules will help you write a professional email and achieve a good, lasting impression with your contacts.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
This Experts Exchange video Micro Tutorial shows how to tell Microsoft Office that a word is NOT spelled correctly. Microsoft Office has a built-in, main dictionary that is shared by Office apps, including Excel, Outlook, PowerPoint, and Word. When …

763 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now