Skip to main content

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

Author: Siluvia Last Modified: 2025-05-29

È facile salvare tutti gli allegati da un'email utilizzando la funzione Salva tutti gli allegati integrata in Outlook. Tuttavia, se si desidera salvare tutti gli allegati da più email contemporaneamente, non esiste una funzione diretta che possa aiutare. È necessario applicare ripetutamente la funzione Salva tutti gli allegati in ogni email fino a quando tutti gli allegati non vengono salvati da quelle email. Questo è molto dispendioso in termini di tempo. In questo articolo, introduciamo due metodi per salvare facilmente tutti gli allegati da più email in una cartella specifica in Outlook.

Salva tutti gli allegati da più email in una cartella con il codice VBA
Alcuni clic per salvare tutti gli allegati da più email in una cartella con uno strumento incredibile


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

Questa sezione dimostra un codice VBA in una guida passo-passo per aiutarti a salvare rapidamente tutti gli allegati da più email in una cartella specifica in una sola volta. Procedi come segue.

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

Entra nella cartella "Documenti" e crea una cartella chiamata "Attachments". Vedi screenshot:

save attachments by vba 1

2. Seleziona le email i cui allegati vuoi salvare, quindi premi i tasti "Alt" + "F11" per aprire la finestra "Microsoft Visual Basic for Applications".

3. Clicca su "Inserisci" > "Modulo" per aprire la finestra "Modulo", quindi copia uno dei seguenti codici VBA nella finestra.

Codice VBA 1: Salva in blocco gli allegati da più email (salva allegati con lo stesso nome esatto direttamente)

Nota: Questo codice salverà gli allegati con lo stesso nome aggiungendo cifre 1, 2, 3... dopo i nomi dei 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 (controlla i 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

save attachments by vba 2

Note:

1) Se vuoi salvare tutti gli allegati con lo stesso nome in una cartella, applica il precedente "Codice VBA 1". Prima di eseguire questo codice, clicca su "Strumenti" > "Riferimenti", quindi seleziona la casella "Microsoft Scripting Runtime" nella finestra di dialogo "Riferimenti - Progetto".
save attachments by vba 3
2) Se vuoi controllare i nomi degli allegati duplicati, applica il "Codice VBA 2". Dopo aver eseguito il codice, apparirà una finestra di dialogo per ricordarti se sostituire gli allegati duplicati, scegli "Sì" o "No" in base alle tue esigenze.

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

Quindi, tutti gli allegati nelle email selezionate vengono salvati nella cartella creata nel passaggio 1.

Note: Potrebbe apparire una casella di avviso "Microsoft Outlook", fai clic sul pulsante "Consenti" per continuare.


Salva tutti gli allegati da più email in una cartella con uno strumento incredibile

Se sei un principiante in VBA, ti consigliamo vivamente l'utilità "Salva tutti gli allegati" di "Kutools per Outlook". Con questa utilità, puoi salvare rapidamente tutti gli allegati da più email in una sola volta con pochi clic solo in Outlook.

Sblocca l'efficienza massima delle email con Kutools per Outlook! Accedi a 70 funzionalità potenti assolutamente gratis, per sempre. Scarica ora la versione gratuita!

1. Seleziona le email contenenti gli allegati che desideri salvare.

Nota: Puoi selezionare più email non adiacenti tenendo premuto il tasto "Ctrl" e selezionandole una per una;
Oppure seleziona più email adiacenti tenendo premuto il tasto "Shift" e selezionando la prima e l'ultima email.

2. Clicca su "Kutools Plus" > "Strumenti allegati" > "Salva tutto". Vedi screenshot:

3. Nella finestra di dialogo "Impostazioni di salvataggio", clicca il option button pulsante per selezionare una cartella in cui salvare gli allegati, quindi clicca sul pulsante "OK".

save attachments by kutools for outlook 1

4. Clicca su "OK" due volte nei successivi pop-up delle finestre di dialogo. Quindi, tutti gli allegati nelle email selezionate vengono salvati nella cartella specificata in una sola volta.

Note:

  • 1. Se desideri salvare gli allegati in cartelle diverse in base alle email, seleziona la casella "Crea sottocartelle nello stile seguente" e scegli uno stile di cartella dal menu a discesa.
  • 2. Oltre a salvare tutti gli allegati, puoi salvarli in base a condizioni specifiche. Ad esempio, se vuoi salvare solo gli allegati PDF il cui nome del file contiene la parola "Fattura", clicca sul pulsante "Opzioni avanzate" per espandere le condizioni, quindi configura come mostrato di seguito.
  • 3. Se vuoi salvare automaticamente gli allegati quando arrivano le email, la funzione Salva automaticamente gli allegati può aiutarti.
  • 4. Per separare direttamente gli allegati dalle email selezionate, la funzione Scollega tutti gli allegati di "Kutools per Outlook" può esserti d'aiuto.

Articoli correlati

Inserisci allegati nel corpo del messaggio email in Outlook
Normalmente, gli allegati sono visualizzati nel campo Allegati in un'email in fase di composizione. Qui questa guida fornisce metodi per aiutarti a inserire facilmente gli allegati nel corpo dell'email in Outlook.

Scarica/salva automaticamente gli allegati da Outlook in una determinata cartella
In generale, puoi salvare tutti gli allegati di un'email facendo clic su Allegati > Salva tutti gli allegati in Outlook. Ma, se hai bisogno di salvare tutti gli allegati da tutte le email ricevute e in arrivo, qualche idea? Questo articolo introdurrà due soluzioni per scaricare automaticamente gli allegati da Outlook in una determinata cartella.

Stampa tutti gli allegati in una o più email in Outlook
Come sai, verrà stampato solo il contenuto dell'email, come intestazione e corpo, quando fai clic su File > Stampa in Microsoft Outlook, ma non gli allegati. Qui ti mostreremo come stampare facilmente tutti gli allegati in un'email selezionata in Microsoft Outlook.

Cerca parole all'interno dell'allegato (contenuto) in Outlook
Quando digitiamo una parola chiave nella casella di Ricerca istantanea in Outlook, cercherà la parola chiave negli oggetti delle email, nei corpi, negli allegati, ecc. Ma ora ho solo bisogno di cercare la parola chiave nel contenuto dell'allegato solo in Outlook, qualche idea? Questo articolo mostra i passaggi dettagliati per cercare parole all'interno del contenuto dell'allegato in Outlook facilmente.

Mantieni gli allegati quando rispondi in Outlook
Quando inoltriamo un messaggio email in Microsoft Outlook, gli allegati originali in quel messaggio email rimangono nel messaggio inoltrato. Tuttavia, quando rispondiamo a un messaggio email, gli allegati originali non saranno allegati al nuovo messaggio di risposta. Qui introdurremo alcuni trucchi per mantenere gli allegati originali quando si risponde in Microsoft Outlook.


I migliori strumenti per la produttività in Office

Ultime novità: Kutools per Outlook lancia la versione gratuita!

Scopri la nuovissima versione GRATUITA di Kutools per Outlook con oltre70 funzionalità straordinarie, da utilizzare PER SEMPRE! Clicca per scaricarla subito!

🤖 Kutools AI : Sfrutta una tecnologia AI avanzata per gestire le email senza sforzo, tra cui rispondere, riassumere, ottimizzare, estendere, tradurre e scrivere email.

📧 Automazione Email: Risposta automatica (disponibile per POP e IMAP) / Programma invio email / CC/BCC automatico tramite regola durante l'invio / Inoltro automatico (Regola avanzata) / Aggiungi saluto automaticamente / Suddividi automaticamente le email con più destinatari in messaggi individuali...

📨 Gestione Email: Richiama Email / Blocca email di phishing per oggetto e altri criteri / Elimina email duplicate / Ricerca Avanzata / Organizza cartelle...

📁 Allegati Pro: Salva in blocco / Distacca in blocco / Comprimi in blocco / Salvataggio automatico / Distacca automaticamente / Auto Comprimi...

🌟 Magia dell'interfaccia: 😊Più emoji belle e originali / Notifiche per email importanti / Riduci Outlook a icona invece di chiuderlo...

👍 Funzioni rapide: Rispondi a Tutti con Allegati / Email anti-phishing / 🕘Mostra il fuso orario del mittente...

👩🏼‍🤝‍👩🏻 Contatti & Calendario: Aggiungi in blocco contatti dalle email selezionate / Dividi un gruppo di contatti in gruppi individuali / Rimuovi promemoria di compleanno...

Sblocca subito Kutools per Outlook con un solo clic. Non aspettare, scaricalo ora e aumenta la tua efficienza!

kutools for outlook features1 kutools for outlook features2