How could I perform a "Reply to all" in Outlook, but resending the original attachment back to all?

  • 5
    And who, in the context of a received message, is all. You can reply to all meaning the sender and the people mentioned in the CC and BCC lists, but forward implies someone not already mentioned.
    – pavium
    Dec 8 '09 at 12:22
  • @pavinum: I am not here for meaning of english language. Thanks for your literature capability. I would like to use that functionality. In other workds it will be Reply to all with attachment. If you know please answer.
    – Saar
    Dec 8 '09 at 13:45
  • 2
    Are you saying that you want to "Reply All" but maintain any attachments that exist on the original message? I'm not sure why you'd want to. I mean, those people have already received the attachment, haven't they?
    – ale
    Dec 8 '09 at 13:49
  • 1
    @Al Everett: exactly. Resending the same attachment. Some strange requirement from management ;).
    – Saar
    Dec 8 '09 at 13:50
  • This horrid "miss" on basic functionality is still present 8 years later 2017. I got dinged by manager for not including the attachments. Aug 30 '17 at 21:40

Apparently not without some VBA code. Here's something I found that purports to do exactly that. (Source)

Description: This Outlook VBA sample creates and displays a reply to the currently open or selected message including the attachments in the original.

Sub ReplyWithAttachments()
    Dim rpl As Outlook.MailItem
    Dim itm As Object

    Set itm = GetCurrentItem()
    If Not itm Is Nothing Then
        Set rpl = itm.Reply
        CopyAttachments itm, rpl
    End If

    Set rpl = Nothing
    Set itm = 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

Notes on the code:

  1. Uses the GetCurrentItem() function to return the currently selected or displayed item.

  2. Uses the CopyAttachments() procedure to copy the attachments to the reply.

  3. Replace itm.Reply with itm.ReplyAll if you prefer to reply to all.

(Oh, and I found this in about 30 seconds doing a web search for "reply to all with attachments in outlook").

  • @Al Everett: thanks for your detailed answer. Believe me web search did not helped me. bad me, used wrong keywords.
    – Saar
    Dec 8 '09 at 15:43
  • To Al Everett, who asked why someone would want to... what may matter is the LAST email, not the FIRST... to ensure the last person has the attachment, to deal with it. As well, it can be edited in-place, and 'returned' to all; not just 'send it back to all'...)
    – user99267
    Sep 26 '11 at 19:35

Possible Solution:

The person who sends this mail the first time opens his "Sent Items" folder, opens the mail and select Actions - "Resend this Message...." again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.