KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come salvare tutti gli allegati da più email in una singola cartella in Outlook?

AutoreSiluvia Data di modifica

Salvare tutti gli allegati da un’unica email è semplice grazie alla funzione integrata **Salva tutti gli allegati** di Outlook. Tuttavia, se devi salvare gli allegati da più email contemporaneamente, non esiste un’opzione diretta per farlo: dovresti applicare manualmente la stessa funzione a ogni singolo messaggio, uno per uno, fino a quando non avrai salvato tutto. Un processo lungo e noioso. In questo articolo ti presentiamo due metodi efficaci per salvare **in blocco** tutti gli allegati provenienti da più email direttamente in una cartella specifica, in modo rapido e semplice con Outlook.

Salvare tutti gli allegati da più email in una cartella con codice VBA
Salvare tutti gli allegati da più email in una cartella con pochi clic grazie a uno strumento eccezionale


Salvare tutti gli allegati da più email in una cartella con codice VBA

Questa sezione illustra passo dopo passo un codice VBA per aiutarla a salvare rapidamente tutti gli allegati da più email in una cartella specifica con un’unica operazione. Proceda come segue.

1. Innanzitutto, crea una cartella sul tuo computer per salvare gli allegati.

Accedi alla cartella «Documenti» e crea una nuova cartella denominata «Allegati». Consulta lo screenshot:

salva allegati con vba 1

2. Seleziona le email contenenti gli allegati da salvare, quindi premi i tasti «Alt» + "F11" per aprire la finestra di Microsoft Visual Basic, Applications.

3. Fare clic su «Inserisci» > «Modulo» per aprire la finestra «Modulo», quindi copiare uno dei codici VBA seguenti nella finestra.

Codice VBA 1: salva in blocco gli allegati da più email (salva direttamente gli allegati con nomi identici)

Suggerimento: questo codice salverà gli allegati con nomi identici aggiungendo le cifre 1, 2, 3... dopo il nome del file.

Dim GCount As Integer
Dim GFilepath As String
Public Sub SaveAttachments()
'Update 20200821
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xSelection As Outlook.Selection
Dim i As Long
Dim xAttCount As Long
Dim xFilePath As String, xFolderPath As String, xSaveFiles As String
On Error Resume Next
xFolderPath = CreateObject("WScript.Shell").SpecialFolders(16)
Set xSelection = Outlook.Application.ActiveExplorer.Selection
xFolderPath = xFolderPath & "\Attachments\"
If VBA.Dir(xFolderPath, vbDirectory) = vbNullString Then
    VBA.MkDir xFolderPath
End If
GFilepath = ""
For Each xMailItem In xSelection
    Set xAttachments = xMailItem.Attachments
    xAttCount = xAttachments.Count
    xSaveFiles = ""
    If xAttCount > 0 Then
        For i = xAttCount To 1 Step -1
            GCount = 0
            xFilePath = xFolderPath & xAttachments.Item(i).FileName
            GFilepath = xFilePath
            xFilePath = FileRename(xFilePath)
            If IsEmbeddedAttachment(xAttachments.Item(i)) = False Then
                xAttachments.Item(i).SaveAsFile xFilePath
                If xMailItem.BodyFormat <> olFormatHTML Then
                    xSaveFiles = xSaveFiles & vbCrLf & "<Error! Hyperlink reference not valid.>"
                Else
                    xSaveFiles = xSaveFiles & "<br>" & "<a href='file://" & xFilePath & "'>" & xFilePath & "</a>"
                End If
            End If
        Next i
    End If
Next
Set xAttachments = Nothing
Set xMailItem = Nothing
Set xSelection = Nothing
End Sub

Function FileRename(FilePath As String) As String
Dim xPath As String
Dim xFso As FileSystemObject
On Error Resume Next
Set xFso = CreateObject("Scripting.FileSystemObject")
xPath = FilePath
FileRename = xPath
If xFso.FileExists(xPath) Then
    GCount = GCount + 1
    xPath = xFso.GetParentFolderName(GFilepath) & "\" & xFso.GetBaseName(GFilepath) & " " & GCount & "." + xFso.GetExtensionName(GFilepath)
    FileRename = FileRename(xPath)
End If
xFso = Nothing
End Function

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

Codice VBA 2: salva in blocco gli allegati da più email (verifica la presenza di duplicati)
Public Sub SaveAttachments()
'Update 20200821
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xSelection As Outlook.Selection
Dim i As Long
Dim xAttCount As Long
Dim xFilePath As String, xFolderPath As String, xSaveFiles As String
Dim xYesNo As Integer
Dim xFlag As Boolean
On Error Resume Next
xFolderPath = CreateObject("WScript.Shell").SpecialFolders(16)
Set xSelection = Outlook.Application.ActiveExplorer.Selection
xFolderPath = xFolderPath & "\Attachments\"
If VBA.Dir(xFolderPath, vbDirectory) = vbNullString Then
    VBA.MkDir xFolderPath
End If
For Each xMailItem In xSelection
    Set xAttachments = xMailItem.Attachments
    xAttCount = xAttachments.Count
    xSaveFiles = ""
    If xAttCount > 0 Then
        For i = xAttCount To 1 Step -1
            xFilePath = xFolderPath & xAttachments.Item(i).FileName
            xFlag = True
            If VBA.Dir(xFilePath, 16) <> Empty Then
                xYesNo = MsgBox("The file is exists, do you want to replace it", vbYesNo + vbInformation, "Kutools for Outlook")
                If xYesNo = vbNo Then xFlag = False
            End If
            If xFlag = True Then
                xAttachments.Item(i).SaveAsFile xFilePath
                If xMailItem.BodyFormat <> olFormatHTML Then
                    xSaveFiles = xSaveFiles & vbCrLf & "<Error! Hyperlink reference not valid.>"
                Else
                    xSaveFiles = xSaveFiles & "<br>" & "<a href='file://" & xFilePath & "'>" & xFilePath & "</a>"
                End If
            End If
        Next i
    End If
Next
Set xAttachments = Nothing
Set xMailItem = Nothing
Set xSelection = Nothing
End Sub

salva allegati con vba 2

Note:

1) Se si desidera salvare tutti gli allegati con lo stesso nome in una cartella, applicare il "Codice VBA 1" riportato sopra. Prima di eseguire questo codice, fare clic su «Strumenti» > «Riferimenti» e selezionare la casella «Microsoft Scripting Runtime» nella finestra di dialogo «Riferimenti - Progetto».
salva allegati con vba 3
2) Se si desidera verificare la presenza di Nome allegato duplicati, applicare il "Codice VBA 2". Dopo aver eseguito il codice, verrà visualizzata una finestra di dialogo per chiederle se sostituire Duplica gli allegati; scegliere «Sì» o «No» in base alle proprie esigenze.

5. Premere il tasto "F5" per eseguire il codice.

Tutti gli allegati contenuti nelle email selezionate verranno salvati nella cartella creata al passaggio 1.

Nota: potrebbe apparire una finestra di avviso di Microsoft Outlook; fai clic sul pulsante «Consenti» per procedere.


Salvare tutti gli allegati da più email in una cartella con uno strumento eccezionale

Se non ha dimestichezza con VBA, le consigliamo vivamente la funzione **«Salva tutti gli allegati»** di **Kutools per Outlook**: con pochi clic, potrà salvare rapidamente tutti gli allegati da più email contemporaneamente, direttamente in Outlook.

Dì addio all’inefficienza di Outlook! Kutools per Outlook semplifica l’elaborazione batch delle email – e ora puoi provarlo gratis per 30 giorni!Scarica subito Kutools per Outlook!!

1. Seleziona le email che contengono gli allegati da salvare.

Suggerimento: puoi selezionare più email non adiacenti tenendo premuto il tasto «Ctrl» e cliccando su ciascuna di esse;
oppure selezionare un blocco di email adiacenti tenendo premuto il tasto «Maiusc» e cliccando sulla prima e sull’ultima email.

2. Fare clic su «KUTOOLS PLUS» > «Strumenti allegati» > «Salva tutto». Vedere lo screenshot:

3. Nella finestra di dialogo «Impostazioni di salvataggio», fai clic sul pulsante pulsante di opzioneper selezionare la cartella in cui salvare gli allegati, quindi conferma con «OK».

salva allegati con kutools for outlook 1

4. Fare doppio clic su «OK» nelle finestre di dialogo successive: tutti gli allegati presenti nelle email selezionate verranno salvati contemporaneamente nella cartella specificata.

Note:

  • 1. Per salvare gli allegati in cartelle diverse a seconda delle email, seleziona la casella «Crea sottocartelle nel seguente stile» e scegli uno stile di cartella dal menu a discesa.
  • 2. Oltre a salvare tutti gli allegati, puoi scegliere di salvarli in base a condizioni specifiche. Ad esempio, se desideri conservare solo gli allegati PDF il cui nome file contiene la parola «Fattura», clicca sul pulsante «Opzioni avanzate» per espandere e configurare le condizioni come mostrato di seguito.
  • 3. Se desideri salvare automaticamente gli allegati all’arrivo delle email, la funzionalità Salva automaticamente gli allegati può esserti d’aiuto.
  • 4. Per staccare direttamente gli allegati dalle email selezionate, la funzione Stacca tutti gli allegatidi «Kutools per Outlook» può esserle utile.

Articoli correlati

Inserisci allegato nel corpo del messaggio email in Outlook
Di solito, gli allegati vengono visualizzati nel campo «Allegati» durante la composizione di un'email. Questa guida ti illustra metodi semplici per inserire direttamente l'allegato nel corpo del messaggio in Outlook.

Scarica e salva automaticamente gli allegati da Outlook in una cartella specifica
Di solito, puoi salvare tutti gli allegati di un'email facendo clic su Allegati > Salva tutti gli allegati in Outlook. Ma se devi salvare automaticamente tutti gli allegati provenienti da tutte le email ricevute e da quelle in arrivo, sai come fare? In questo articolo ti presentiamo due soluzioni efficaci per scaricare automaticamente gli allegati da Outlook direttamente nella cartella che preferisci.

Stampare tutti gli allegati presenti in una o più email in Outlook
Come saprà, facendo clic su File > Stampa in Microsoft Outlook verrà stampato soltanto il contenuto dell'email — intestazione e corpo del messaggio — ma non gli allegati. Di seguito le mostriamo come stampare facilmente tutti gli allegati di un'email selezionata in Microsoft Outlook.

Cercare parole all’interno degli allegati (contenuto) in Outlook
Quando digiti una parola chiave nella casella di Ricerca immediata di Outlook, la ricerca viene effettuata nell’oggetto, nel corpo e negli allegati delle email, ecc. Ma se ora vuoi cercare quella parola chiave esclusivamente nel contenuto degli allegati in Outlook, come puoi fare? Questo articolo ti mostra passo dopo passo come trovare facilmente parole all’interno del contenuto degli allegati in Outlook.

Mantenere gli allegati quando si risponde in Outlook
Quando inoltri un messaggio email in Microsoft Outlook, gli allegati originali vengono automaticamente mantenuti nel messaggio inoltrato. Tuttavia, quando rispondi a un'email, gli allegati del messaggio originale non vengono inclusi nella tua risposta. In questa sezione ti presenteremo alcuni trucchi utili per conservare gli allegati originali anche quando rispondi in Microsoft Outlook.


Migliori strumenti per la produttività in Office

Scopri il nuovissimo Kutools per Outlook con 100+ funzionalità incredibili!Clicca per scaricare ora!

🤖KUTOOLS AI:Utilizza tecnologia AI avanzata per gestire le email senza sforzo, inclusi rispondere, riassumere, ottimizzare, estendere, tradurre e comporre email.

📧Automazione delle email: Risposta automatica (disponibile per POP e IMAP) / Invio email programmato / CC/BCC automatico in base a regole durante l’invio delle email / Inoltro automatico (regola avanzata) / Aggiunta automatica del saluto / Divisione automatica delle email con destinatari multipli in messaggi individuali...

📨Gestione delle email: Richiama Email / Blocca le email truffaldine in base all’oggetto e ad altri criteri / Elimina email duplicate / Ricerca avanzata / Organizza cartelle...

📁Allegati Pro: Salvataggio batch / Distacco batch / Compressione batch / Salvataggio automatico / Distacco automatico / Compressione automatica

🌟Magia dell’interfaccia: 😊 Più emoji graziose e accattivanti / Ti avvisa all’arrivo di email importanti / Riduci a icona Outlook invece di chiuderlo...

👍Meraviglie con un clic: Rispondi a Tutti con Allegati / Email anti-phishing / 🕘 Mostra il fuso orario – Ora corrente del mittente...

👩🏼‍🤝‍👩🏻Contatti e calendario: Aggiungi contatti in blocco dalle email selezionate / Dividi un gruppo di contatti in gruppi individuali / Rimuovi i promemoria dei compleanni...

Usa Kutools nella tua lingua preferita: supporta inglese, spagnolo, tedesco, francese, cinese e oltre 40 altre lingue!

Sblocca istantaneamente Kutools per Outlook con un solo clic! Non aspettare oltre: scaricalo ora e aumenta subito la tua efficienza!

kutools for outlook funzionalità1kutools for outlook funzionalità2

🚀 Download con un clic — Ottieni tutti i componenti aggiuntivi per Office

Fortemente consigliato: Kutools for Office (5-in-1)

Un clic per scaricare cinque programmi di installazionetutti insieme —Kutools per Excel, Outlook, Word, PowerPointe Office Tab Pro.Clicca per scaricare ora!

  • Comodità con un solo clic: scarica tutti e cinque i pacchetti di installazione in un’unica azione.
  • 🚀Pronto per qualsiasi attività in Office: installa i componenti aggiuntivi che ti servono, esattamente quando ti servono.
  • 🧰Inclusi: Kutools per Excel / Kutools per Outlook / Kutools per Word / Office Tab Pro / Kutools for PowerPoint