Reply or ReplyAll with Attachments

Last reviewed on July 29, 2014   —  25 comments

We get a surprising number of questions from users who want to return attachments when replying to a message. Forward includes the attachments, but reply (and reply to all) do not.

Lotus Notes has an option users like - they can reply to a message and include the original attachment. Outlook doesn't have this option, based on the belief that the sender has the attachment and doesn't need another copy filling up their mailbox. Users disagree with this line of thought and usually have valid reasons for wanting to return an unedited attachment. Typically, they need to review documents and just need to say Yes or No but feel the recipient won't know which document the response refers to unless its attached. While there are better ways of reminding the recipient which document you are talking about, they prefer to include the document as it insures they can't be blamed if things go wrong.

Outlook has the reply format 'when replying, attach original message' , which attaches the original message and all of its contents, but many users find the resulting nested messages annoying when used for all replies. Fortunately, there are fairly easy ways to add the attachment to the reply that don't involve saving the attachment and attaching it.

The easiest way is to hit Forward instead of Reply. The drawbacks: it breaks threading and you'll need to address the message.

Drag the attachment(s) from the original message to the reply. You don't need to open the original message in a new window either - you can drag the attachments from the reading pane. Hold Shift when selecting the attachments if there are multiple attachments you want to send back.

Drag the message from the Inbox to the reply, or use the Insert, Item command to insert the message as an attachment.

Macro to Reply or ReplyAll with Attachments

Create custom buttons for reply and reply all with attachmentsIf you need to reply with attachment often, the methods above will get old fast. Fortunately, you can do this using VBA. Press Alt+F11 to open the VBA editor then copy the code samples below and paste it into ThisOutlooksession. Create two toolbar, ribbon, or QAT buttons and assign ReplyAllWithAttachments and ReplyWithAttachments to the buttons.

When you need to reply or reply all and include attachments, use the buttons.

Sub ReplyWithAttachments()
    Dim oReply As Outlook.MailItem
    Dim oItem As Object
    Set oItem = GetCurrentItem()
    If Not oItem Is Nothing Then
        Set oReply = oItem.Reply
        CopyAttachments oItem, oReply
        oItem.UnRead = False
    End If
    Set oReply = Nothing
    Set oItem = Nothing
End Sub
Sub ReplyAllWithAttachments()
    Dim oReply As Outlook.MailItem
    Dim oItem As Object
    Set oItem = GetCurrentItem()
    If Not oItem Is Nothing Then
        Set oReply = oItem.ReplyAll
        CopyAttachments oItem, oReply
        oItem.UnRead = False
    End If
    Set oReply = Nothing
    Set oItem = Nothing
End Sub
Function GetCurrentItem() As Object
    Dim objApp As Outlook.Application
    Set objApp = Application
    On Error Resume Next
    Select Case TypeName(objApp.ActiveWindow)
        Case "Explorer"
            Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
        Case "Inspector"
            Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
    End Select
    Set objApp = Nothing
End Function
Sub CopyAttachments(objSourceItem, objTargetItem)
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set fldTemp = fso.GetSpecialFolder(2) ' TemporaryFolder
   strPath = fldTemp.Path & "\"
   For Each objAtt In objSourceItem.Attachments
      strFile = strPath & objAtt.FileName
      objAtt.SaveAsFile strFile
      objTargetItem.Attachments.Add strFile, , , objAtt.DisplayName
      fso.DeleteFile strFile
   Set fldTemp = Nothing
   Set fso = Nothing
End Sub

Reply with Edited Attachment

More common is the need to revise a document and send the edited copy back. For most people, this means saving the attachment and inserting it into the reply. But there are other methods. Office applications have a ‘send for review’ option but it creates a new message, not a reply. If neither are a concern, use the Send to, Original sender or Mail recipient (for review) option. If you need to include the original message in the reply, it is possible to edit the attachment and send the edited copy without saving the file and browsing your documents folder for it.

These specific steps work with any file type and allow users to edit and return the edited copy to the sender, without saving the edited copy to My Documents.

1. Open the message, then the attachment. This step is important, not only because opening attachments from the reading pane creates read-only attachments, but also because it’s too easy to view another message, calendar etc. while the attachment is open. When this happens, Outlook loses track of the attachment and a copy is left in the secure temp folder.

2. Edit and save the attachment.

3. Do not close the message before you save and close the attachment! As long as the message is open there is a pointer between it and the attachment and changes will be saved to the document . The copy in the secure temp folder will be deleted when the message is closed when you close the attachment, then the message.

4. Hit Forward or hit reply and drag the attachment from the old message to the new message.

5. You can now close the original message. Outlook will ask if you want to save it, click Yes to replace the original document with the edited version or choose No to keep the original.

For insurance against an “oops” moment where you accidentally save the edited copy to the original message, make a copy of the message before editing the document. Select the message, press Ctrl+C, V to make a copy. Open the copy and edit the document. After sending the edited document you can delete the copy.

Note: this will not work with Outlook 2010. All attachments use "protected view" and are read-only. You need to open the message in Edit Message mode to edit the attachment. See Edit and Save Outlook 2010's Read-Only Attachments for more information.

Written by

Diane Poremsky
A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

Please post long or more complicated questions at Outlookforums.

25 responses to “Reply or ReplyAll with Attachments”

  1. alberto

    Diane, you are a genius; it works perfectly, thanks a lot

  2. Steve

    Thanks so much - Very nice of you

  3. Scott

    I know nothing about creating VB scripts and thus have no clue how to work the VB editor. Does anyone have this add in as a download that can be installed somehow?

  4. Michal

    Hello Diane, I've got a problem, that created button doesn't work after Outlook restart. Project in VBA is saved and is here after restart. In my outlook it works, but doesn't work in any other outlook in office. There's only one difference - I've got administrator rights and others not.
    Where can be problem?

  5. Michal

    Thanks for help. I've decreased macro security. After it, it's working even if outlook is restarted.

  6. Rod

    Hi Diane,
    I would like to invoke the "Edit Message" function each time I open an Email in Outlook 2010 using a Macro.
    Would you be able to advise me if this is possible and if so, suggest the routine ?
    Many thanks, Rod

  7. Rod

    Hi Diane.
    Thanks for that. I dont use the reading pane.
    Was hoping to have the function in some type of "sub OnOpenMessage" routine.
    No biggie and certainly do not spend too much time on it as I have the Icon in the QAT.
    Warm regards, Rod.

  8. Bob Sundquist

    Thank you very much. I don't understand why Microsoft makes it necessary for users to fix their software instead of just giving us a button to do this. Just what I needed.

  9. Ratish

    Thanks for the macro Dianne. can I request you to advise if a macro would be possible to reply with a password protected attachment? i.e. functions exactly as per above mentioned macro but the attached document is password protected in the reply email? please advise

  10. hefepeal

    Hi Diane,

    When i use your macro, and reply to the email, outlook doesn´t mark the original message as read. How can i fix this?


  11. Yogesh Sharma

    Hi Diane,

    Really helpful Macro, however I have the same issue as "hefepeal" in that the original message / item is not marked as 'Read' (I'm running Outlook 2010 SP2).

    I've seen your reply / fix, however I'm not 100% where in the Macro the two commands should be placed.

    Can you please advise.

    Many thanks.

  12. aleckz

    hi Diane,

    thanks for your code, had tried it and it work well.
    however the replied message had leave a text of the file name and file is already out of the original location.

    is it possible for the created new reply mail to have the original file/s location as is?


  13. Mark B.

    The VB editor part is best left to people who know how to use it. I showed this to my company's IT administrator. He did the editing for me and it works perfectly. Then I sent him the link and he is going to install it on his machine. I wouldn't be surprised if he does this for all of our computer users here at work. Thanks Diane!

  14. Daniel Alfano

    WOW!! It works perfect!! Thanks a lot!!

  15. jonathandire

    Hi Diane,

    I'm a major fan of your work, you have saved me countless hours by providing such a wonderful database of vb code for outlook.

    I've learnt so much, but have hit a wall. I have utilised the reply with attachments successfully, however, I've tried to incorporate your 'If objAttachments.Item(i).Size > 6200 Then' into it... but have come up empty handed (and most of my hair pulled out).

    Could you possibly help if you have the time. My goal is to have the macro omit files of a certain file type, size and name. (to omit signature files)

    Help me Diane-wan-kenobi you are my only hope.


  16. jonathandire

    Hi Diane,

    My apologies if it looks like I ignored you, my last response got flagged for moderation and then disappeared. Either way I sorted it out, just was putting the 'If objAttachments.Item(i).Size in the wrong location, so it was triggering after the action had already happened.

Leave a Reply

If the Post Coment button disappears, press your Tab key.