Note: The other languages of the website are Google-translated. Back to English
Accedi  \/ 
x
or
x
Registrati  \/ 
x

or

Come rispondere a tutti con allegati originali in Outlook?

Normalmente, quando si applica la funzione Rispondi a tutti per rispondere al messaggio a tutti i destinatari in Outlook, gli allegati originali verranno persi automaticamente. È possibile allegare allegati originali quando si risponde a tutti in Outlook?

Rispondi a tutti con allegati originali con codice VBA

Rispondi a tutti con allegati originali con Kutools per Outlook


Rispondi a tutti con allegati originali con codice VBA

Non esiste una funzionalità diretta per gestire questa attività in Outlook, ma è possibile applicare il seguente codice VBA per ottenerla. Si prega di fare con i passaggi seguenti:

1. Avvia Outlook, quindi tieni premuto il pulsante ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Nel Microsoft Visual Basic, Applications Edition finestra, fare doppio clic Questa sessione di Outlook dal Progetto1 (VbaProject.OTM) riquadro per aprire la modalità, quindi copia e incolla il codice seguente nel modulo vuoto.

Codice VBA: rispondi a tutti con ahhachments originali:

Sub ReplyAllWithAttachments()
'Updateby Extendoffice
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

doc risponde a tutti con allegato 1

3. E poi clicca Strumenti > Referenze nello Microsoft Visual Basic, Applications Edition finestra, nel saltato fuori Riferimenti-Progetto1 finestra di dialogo, controllare Runtime di script Microsoft opzione dal Riferimenti disponibili casella di riepilogo, vedi screenshot:

doc risponde a tutti con allegato 9

4. Quindi salva e chiudi la finestra del codice, quindi puoi aggiungere il pulsante macro nel file Barra degli strumenti di accesso rapido.

5. Apri l'email a cui vuoi rispondere a tutti con allegato Messaggio finestra, quindi scegli Altri comandi dal Personalizza la barra degli strumenti di accesso rapido menu a discesa, vedi screenshot:

doc risponde a tutti con allegato 2

6. Nel Opzioni di Outlook finestra di dialogo, eseguire le seguenti operazioni:

(1.) Seleziona Macro dal Scegli comandi da menu `A tendina;

(2.) Fare clic sul nome della macro che hai appena inserito;

(3.) E quindi fare clic su Aggiungi pulsante per aggiungere la macro nel file Personalizza la barra degli strumenti di accesso rapido.

doc risponde a tutti con allegato 3

7. Quindi fare clic OK per chiudere la finestra di dialogo, ora, il pulsante macro è stato inserito nel file Barra degli strumenti di accesso rapido, vedi screenshot:

doc risponde a tutti con allegato 4

8. Ora, fai clic sul pulsante della macro e viene aperta la finestra del messaggio di risposta con gli allegati originali, quindi componi il messaggio di risposta e fai clic su Invia pulsante, vedi screenshot:

doc risponde a tutti con allegato 5


Rispondi a tutti con allegati originali con Kutools per Outlook

Se si dispone di Kutools per Outlook, Con la sua Rispondi a tutti con allegato funzione, puoi rispondere a tutti con allegati solo un clic.

Kutools per Outlook : con più di 100 utili componenti aggiuntivi di Outlook, liberi di provare senza limitazioni in 60 giorni. 

Dopo l'installazione Kutools per Outlook, per favore fai come questo:

1. Selezionare il messaggio a cui si desidera rispondere a tutti con allegati, quindi fare clic su Kutools > Rispondi con allegato > Rispondi a tutti con allegato, vedi screenshot:

2. E la finestra del messaggio di risposta viene aperta con gli allegati originali, quindi componi il tuo messaggio e invialo, vedi screenshot:

doc risponde a tutti con allegato 7

Fai clic per scaricare Kutools per Outlook e prova gratuita ora!


Kutools for Outlook: porta 100 funzionalità avanzate in Outlook e semplifica notevolmente il lavoro!

  • Auto CC / BCC dalle regole durante l'invio di e-mail; Avanzamento automatico Email multiple personalizzate; Risposta automatica senza server di scambio e più funzioni automatiche ...
  • Avviso BCC - mostra il messaggio quando provi a rispondere a tutti se il tuo indirizzo e-mail è nell'elenco BCC; Ricorda quando mancano allegatie altre funzioni di promemoria ...
  • Rispondi (tutti) con tutti gli allegati nella conversazione di posta; Rispondi a molte email in secondi; Aggiunta automatica di saluto quando rispondi; Aggiungi la data all'oggetto ...
  • Strumenti per gli allegati: gestisci tutti gli allegati in tutti i messaggi, Scollegamento automatico, Comprimi tutto, Rinomina tutto, Salva tutto ... Rapporto rapido, Conta le email selezionate...
  • E-mail spazzatura potenti per abitudine; Rimuovi messaggi e contatti duplicati... Consentono di fare in modo più intelligente, veloce e migliore in Outlook.
girato kutools outlook scheda kutools 1180x121
girato kutools outlook kutools plus tab 1180x121
 
Say something here...
symbols left.
You are guest
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.
    Corinne · 1 months ago
    Bonjour
    Cette macros est super malheureusement cela ne fonctionne qu'une fois.. dommage
  • To post as a guest, your comment is unpublished.
    dimscr · 1 months ago
    is there a macro that replies to all keeps attachments and keeps the original email in text format?
  • To post as a guest, your comment is unpublished.
    Pierre · 2 months ago
    Thank you very much, you are the only one to share this macro and it's awesome, thank you for your work !
  • To post as a guest, your comment is unpublished.
    marco pereira · 2 years ago
    a macro VBA só funciona por um dia?
  • To post as a guest, your comment is unpublished.
    Harivola · 2 years 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 · 3 years 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 · 3 years 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.
        apprentice · 1 years ago
        I signed up just to say thank you! Skyyang.
      • To post as a guest, your comment is unpublished.
        ugurk · 3 years ago
        Thanks alot
  • To post as a guest, your comment is unpublished.
    Sam · 3 years 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 · 3 years 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 · 2 years ago
        Thank you so much skyyang!!

        Works like a charm.

        Best Regards