Special Forwarding Situation


I recently had the following exchange with user @crazyspud on Twitter:

@crazyspud: Is there an add-in for #Microsoft Outlook that will strip out e-mail addresses before forwarding an e-mail?  Thanks for all your advise.

@TechnicLee:  Strip out what addresses?

@crazyspud:  I want to strip out previous TO, From, CC, information. Thanks!

@TechnicLee: It can be done with a bit of scripting. What version of Outlook are you using?

@crazyspud:  Both Outlook 2003 and Outlook 2010. Thank you for your help with this.

In essence crazyspud needs a special forwarding option, one that behaves differently from Outlook’s built-in forward option.  My solution is to employ a simple bit of scripting to create a new forwarding option that removes all addresses from the item being forwarded.  Something like this:

Sub SpecialForward()
    Dim olkSrc As Outlook.MailItem, olkFwd As  Outlook.MailItem
    'Get the currently selected or currently open message.
    Select Case TypeName(Application.ActiveWindow)
        Case "Explorer"
            Set olkSrc = Application.ActiveExplorer.Selection(1)
        Case "Inspector"
            Set olkSrc =  Application.ActiveInspector.CurrentItem
    End Select
    'Create a new message.
    Set olkFwd =  Application.CreateItem(olMailItem)
    With olkFwd
        'Set the subject of the new message to the subject of the old message.
        .Subject =  olkSrc.Subject
        'Insert FW: into the subject line.
        If Left(.Subject, 3) = "RE:" Then
            .Subject =  "FW:" & Mid(.Subject, 4)
        Else
            .Subject = "FW: " &  .Subject
        End If
        'Copy the body of the old message to the new message.  Add a separator line.
        .HTMLBody =  "<br><hr><br><b>Forwarded Message<br>"  & olkSrc.HTMLBody
        'Display the new message onscreen.
        .Display
    End With
    'Clean up.
    Set olkFwd = Nothing
    Set olkSrc = Nothing
End Sub

Instructions. Follow these instructions to add the code to Outlook.

1.  Start Outlook
2.  Click Tools > Macro > Visual Basic Editor
3.  If not already expanded, expand Microsoft Office Outlook Objects
4.  If not already expanded, expand Modules
5.  Select an existing module (e.g. Module1) by double-clicking on it or create a new module by right-clicking Modules and selecting Insert > Module.
6.  Copy the code from the Code Snippet box and paste it into the right-hand pane of Outlook’s VB Editor window
7.  Edit the code as needed.  I included comments wherever something needs to or can change
8.  Click the diskette icon on the toolbar to save the changes
9.  Close the VB Editor

Create a Toolbar Button.  In order to emulate Outlook’s built-in Forward button we need to create our own toolbar button.  Here’s how to do that:

1.  Click View > Toolbars > Customize
2.  Click the Toolbars tab
3.  Click New
4.  Name the toolbar
5.  Click the Commands tab
6.  Under Categories click Macros
7.  Under Commands click and hold on the macro, then drag it out and drop it on the new toolbar
8.  Dock the toolbar somewhere onscreen

crazyspud now has two options for forwarding a message: Outlook’s built-in forward that shows who the message was originally addressed to, and a special forward option that eliminates all addressee information from the forwarded message.  Both options are available with the click of a toolbar button.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s