Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in
x
or
x
x
Register
x

or

How to reply all with original attachments in Outlook?

Normally, when you apply the Reply All function to reply the message to all recipients in Outlook, the original attachments will be lost automatically. Is it possible to attach original attachments when reply to all in Outlook?

Reply all with original attachments with VBA code

Reply all with original attachments with Kutools for Outlook


Reply all with original attachments:

When you need to reply an email to all recipients with original attachments, the Kutools for Outlook's Replay All with Attachment feature can help you to solve this job as soon as possible.

doc reply all with attachment 8

Kutools for Outlook: with more than 20+ handy Excel add-ins, free to try with no limitation in 60 days. Download and try the free trial now!

Reply all with original attachments with VBA code

There is no direct feature to deal with this task in Outlook, but, you can apply the following VBA code to achieve it. Please do with below steps:

1. Launch the Outlook, and then hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.

2. In the Microsoft Visual Basic for Applications window, double click ThisOutlookSession from the Project1(VbaProject.OTM) pane to open the mode, and then copy and paste the following code into the blank module.

VBA code: Reply all with original ahhachments:

Sub ReplyAllWithAttachments()
Dim xItem As Object
On Error Resume Next
Select Case TypeName(Outlook.Application.ActiveWindow)
    Case "Explorer"
        For Each xItem In Outlook.Application.ActiveExplorer.Selection
            GetReplyItem xItem
        Next
    Case "Inspector"
        Set xItem = Outlook.Application.ActiveInspector.CurrentItem
        GetReplyItem xItem
End Select
Set xItem = Nothing
End Sub
Sub GetReplyItem(Item As Object)
Dim xReplyMailItem As Outlook.MailItem
On Error Resume Next
If Not Item Is Nothing Then
    Set xReplyMailItem = Item.ReplyAll
    GetAttachments Item, xReplyMailItem
    xReplyMailItem.Display
    'xReplyMailItem.Send
    Item.UnRead = False
End If
Set xReplyMailItem = Nothing
End Sub
Sub GetAttachments(xSourceItem, xTargetItem)
Dim xFSO As Scripting.FileSystemObject
Dim xTmpPath As String
Dim xAttachment As Attachment
Dim xTmpFile As String
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
xTmpPath = CreateObject("shell.Application").NameSpace(5).self.Path & "\TmpAttachments\"
If xFSO.FolderExists(xTmpPath) = False Then
    MkDir xTmpPath
End If
For Each xAttachment In xSourceItem.Attachments
    xTmpFile = xTmpPath & xAttachment.FileName
    xAttachment.SaveAsFile xTmpFile
    xTargetItem.Attachments.Add xTmpFile, , , xAttachment.DisplayName
    xFSO.DeleteFile xTmpFile
Next
If xFSO.FolderExists(xTmpPath) Then
    Kill xTmpPath
End If
Set xFSO = Nothing
End Sub

doc reply all with attachment 1

3. And then click Tools > References in the Microsoft Visual Basic for Applications window, in the popped out References-Project1 dialog box, check Microsoft Scripting Runtime option from the Available References list box, see screenshot:

doc reply all with attachment 9

4. Then save and close the code window, and then you can add the macro button into the Quick Access Toolbar.

5. Open the email that you want to reply all with attachment in Message window, then choose More Commands from the Customize Quick Access Toolbar drop down, see screenshot:

doc reply all with attachment 2

6. In the Outlook Options dialog box, do the following operations:

(1.) Select Macros from the Choose commands from drop down list;

(2.) Click the macro name that you have inserted just now;

(3.) And then click Add button to add the macro into the Customize Quick Access Toolbar.

doc reply all with attachment 3

7. Then click OK to close the dialog box, now, the macro button has been inserted into the Quick Access Toolbar, see screenshot:

doc reply all with attachment 4

8. Now, click the macro button, and the replying message window with original attachments is opened, then compose the replying message, and click Send button, see screenshot:

doc reply all with attachment 5


Reply all with original attachments with Kutools for Outlook

If you have Kutools for Outlook, with its Reply All with Attachment feature, you can reply all with attachments only one click.

Kutools for Outlook : with more than 20 handy Outlook add-ins, free to try with no limitation in 45 days. 

After installing Kutools for Outlook, please do as this:

1. Select the message that you want to reply all with attachments, and then click Kutools > Reply with Attachment > Reply All with Attachment, see screenshot:

doc reply all with attachment 6

2. And the reply message window is opened with original attachments, then compose your message and send it, see screenshot:

doc reply all with attachment 7

Click to download Kutools for Outlook and free trial now!

 

Recommended Productivity Tools

shot kutools outlook kutools tab 1180x121
shot kutools outlook kutools plus tab 1180x121

Kutools for Outlook - More than 100 Advanced Functions for Outlook, Improve 70% Efficiency For you

  • Complicated and repeated operations can be done a one-time processing in seconds.
  • Forward multiple emails individually with one-click, and auto forward by rules.
  • Auto CC/BCC every sending email and easy for customizing rules, and auto reply without requiring exchange server.
  • Powerful junk emails filter, remove duplicate emails, reply with attachment, bunch of one-click operations, and so on...
  • 60-day unlimited free trial. 60-day money back guarantee. 2 years free upgrade and support. Buy once, use forever.
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Harivola · 2 months ago
    Bonjour,


    Super, ça marche à merveille. J'ai visité plein de tuto et d'échange sur le sujet et aucune réponse satisfaisante avant celui-ci. Sachant que jusqu'à présent, je bricolais toujours entre "transférer" et remettre les destinataires ou "répondre à tous" et remettre la ou les pièces jointes. Encore merci.

    Harivola
  • To post as a guest, your comment is unpublished.
    ugurk · 7 months ago
    All files in mail adding as attachment such as image in my signiture.
    How can i only attachment files
    • To post as a guest, your comment is unpublished.
      skyyang · 7 months ago
      Hi,
      If you need to exclude the images within the messages which are inserted into the attachments, please apply the below VBA code, hope it can help you!
      Sub ReplyAllWithAttachments()
      Dim xItem As Object
      On Error Resume Next
      Select Case TypeName(Outlook.Application.ActiveWindow)
      Case "Explorer"
      For Each xItem In Outlook.Application.ActiveExplorer.Selection
      GetReplyItem xItem
      Next
      Case "Inspector"
      Set xItem = Outlook.Application.ActiveInspector.CurrentItem
      GetReplyItem xItem
      End Select
      Set xItem = Nothing
      End Sub
      Sub GetReplyItem(Item As Object)
      Dim xReplyMailItem As Outlook.MailItem
      On Error Resume Next
      If Not Item Is Nothing Then
      Set xReplyMailItem = Item.ReplyAll
      GetAttachments Item, xReplyMailItem
      xReplyMailItem.Display
      'xReplyMailItem.Send
      Item.UnRead = False
      End If
      Set xReplyMailItem = Nothing
      End Sub
      Sub GetAttachments(xSourceItem, xTargetItem)
      Dim xFSO As Scripting.FileSystemObject
      Dim xTmpPath As String
      Dim xAttachment As Attachment
      Dim xTmpFile As String
      On Error Resume Next
      Set xFSO = New Scripting.FileSystemObject
      xTmpPath = CreateObject("shell.Application").NameSpace(5).self.Path & "\TmpAttachments\"
      If xFSO.FolderExists(xTmpPath) = False Then
      MkDir xTmpPath
      End If
      For Each xAttachment In xSourceItem.Attachments
      If IsEmbeddedAttachment(xAttachment) = False Then
      xTmpFile = xTmpPath & xAttachment.FileName
      xAttachment.SaveAsFile xTmpFile
      xTargetItem.Attachments.Add xTmpFile, , , xAttachment.DisplayName
      xFSO.DeleteFile xTmpFile
      End If
      Next
      If xFSO.FolderExists(xTmpPath) Then
      Kill xTmpPath
      End If
      Set xFSO = Nothing
      End Sub
      Function IsEmbeddedAttachment(Attach As Attachment)
      Dim xAttParent As Object
      Dim xCID As String, xID As String
      Dim xHTML As String
      On Error Resume Next
      Set xAttParent = Attach.Parent
      xCID = ""
      xCID = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
      If xCID <> "" Then
      xHTML = xAttParent.HTMLBody
      xID = "cid:" & xCID
      If InStr(xHTML, xID) > 0 Then
      IsEmbeddedAttachment = True
      Else
      IsEmbeddedAttachment = False
      End If
      End If
      End Function
  • To post as a guest, your comment is unpublished.
    Sam · 8 months ago
    Getting compile error as : User-define type not defined at line no " Dim xFSO As Scripting.FileSystemObject" under "Sub GetAttachments(xSourceItem, xTargetItem)"
    Kindly Advice on this error.
    • To post as a guest, your comment is unpublished.
      skyyang · 8 months ago
      Hello, Sam,
      Sorry, the article misses the step 3, I have updated this article, please try again. Hope it can help you!

      Thank you for your reminder.
      • To post as a guest, your comment is unpublished.
        sam · 3 months ago
        Thank you so much skyyang!!

        Works like a charm.

        Best Regards