A user came to me with a problem:
When I follow up to a previous reply in my Sent folder, the message is addressed to me. What am I doing wrong and how can I fix this?
When you reply to a message in the Sent Items folder, your address will be in the To field, because your address is the From address and replies go to the person who sent the message, which in this case, is you. You should use Reply all (delete your address from the To field if your version of Outlook doesn't remove it) or open the sent message and "resend the message" using Actions > Resend message.
If you aren't good at remembering to use Reply All on a message sent only to one person, use the following macro to send the message to the original recipients. It 'listens' for the Reply function and checks which folder you are in when you reply. If you are in the default Sent Items folder, it does its magic.
This macro replies to all recipients in the To, CC, or BCC field. While you should be in the habit of using Reply All when there are multiple recipients, this will solve that problem too (and includes any BCC'd recipients).
As written, it applies only to the default data file's Sent Items folder. If you need to use it on the Sent Items folder in another account, you'll need to change the folder path.
Option Explicit Private WithEvents oExpl As Explorer Private WithEvents oItem As MailItem Private bDiscardEvents As Boolean Dim oResponse As MailItem Private Sub Application_Startup() Set oExpl = Application.ActiveExplorer bDiscardEvents = False End Sub Private Sub oExpl_SelectionChange() On Error Resume Next Set oItem = oExpl.Selection.Item(1) End Sub Private Sub oItem_Reply(ByVal Response As Object, Cancel As Boolean) Cancel = True bDiscardEvents = True Set oResponse = oItem.Reply If Application.ActiveExplorer.CurrentFolder = Session.GetDefaultFolder(olFolderSentMail) Then Dim Recipients As Outlook.Recipients Dim R As Outlook.Recipient Dim i Dim strTo As String, strCC As String, strBCC As String, strName As String Set Recipients = oItem.Recipients For i = Recipients.Count To 1 Step -1 Set R = Recipients.Item(i) strName = R.Name ' Remove Outlook's annoying quotes around names If Left(strName, 1) = "'" Then strName = Mid(strName, 2, Len(R.Name) - 2) End If If R.Type = olTo Then strTo = strName & ";" & strTo ElseIf R.Type = olCC Then strCC = strName & ";" & strCC ElseIf R.Type = olBCC Then strBCC = strName & ";" & strBCC End If Next oResponse.To = strTo oResponse.CC = strCC oResponse.Bcc = strBCC End If oResponse.Display End Sub
How to use the macro on this page
First: You need to have macro security set to low during testing. The macros will not work otherwise.
To check your macro security in Outlook 2010 and newer, go to File, Options, Trust Center and open Trust Center Settings, and change the Macro Settings. In Outlook 2007 and older, look at Tools, Macro Security.
After you test the macro and see that it works, you can either leave macro security set to low or sign the macro.
This code is an "auto" macro and needs to go in ThisOutlookSession. The instructions are below.
To put the macro code in ThisOutlookSession:
- Expand Project1 and double click on ThisOutlookSession.
- Copy then paste the macro into ThisOutlookSession. (Click within the code, Select All using Ctrl+A, Ctrl+C to copy, Ctrl+V to paste.)
- This macro runs when you start Outlook, so you'll need to either restart Outlook or click in Application_Startup then click Run to "kick start" it.
More information as well as screenshots are at How to use the VBA Editor
- Always Reply Using HTML Format in Outlook
- Can I use my own stationery in replies?
- Copy attachment names when replying
- Do you really want to reply to all?
- Forward Messages that were not Replied To
- Foward a Message and CC the Original Recipients
- Ignore Conversations in Outlook
- Macro to Reply, ReplyAll, or Forward and File
- Outlook Crashes When You Reply or Create a New Message
- Reply to All Includes My Address
- Replying to Sent Messages
- Rules in Error and Reply with Template
- Select from a List of Subjects before Sending a Message
- Use a macro to Reply with boilerplate text
- VBA Sample: Do Something When Reply is Clicked