Skip to main content

Come salvare gli allegati senza aprire l'email in Outlook?

Author: Siluvia Last Modified: 2025-05-29

Potrebbe essere necessario salvare frequentemente gli allegati dalle email ricevute sul disco del computer. È facile salvare un allegato o tutti gli allegati da un messaggio di posta elettronica, ma come salvare gli allegati da più email contemporaneamente? Normalmente, è necessario aprire ripetutamente le email e salvare gli allegati. Esistono trucchi per evitare queste operazioni ripetitive? I metodi in questo tutorial possono aiutarti.

Salva gli allegati da una o più email senza aprirle con il codice VBA
Salva gli allegati da una o più email senza aprirle con uno strumento incredibile


Salva gli allegati da una o più email senza aprirle con il codice VBA

Il seguente codice VBA può aiutare a salvare gli allegati da una o più email contemporaneamente senza aprirle in Outlook. Procedi come segue.

1. Seleziona un'email o più email da cui vuoi salvare gli allegati, premi i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Espandi la cartella Microsoft Outlook Objects, fai doppio clic su ThisOutlookSession per aprire la finestra del Codice, quindi copia il seguente codice VBA al suo interno.

save attachments with VBA 1

Codice VBA: Salva gli allegati senza aprire le email

Public Sub SaveAttachmentsWithoutOpening()
'Updated by Extendoffice 20191008
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xAttachment As Outlook.Attachment
Dim i As Long
Dim xCount As Long
Dim xFileName As String
Dim xSavePath As String
Dim xOriginalFiles As String
On Error Resume Next
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.BrowseForFolder(0, "Select a folder:", 0, strStartingFolder)
If Not TypeName(xFolder) = "Nothing" Then
    Set xFolderItem = xFolder.self
    xSavePath = xFolderItem.Path & "\"
Else
    xFileName = ""
    Exit Sub
End If
For Each xMailItem In Outlook.ActiveExplorer.Selection
    Set xAttachments = xMailItem.Attachments
    xCount = xAttachments.Count
    xOriginalFiles = ""
    If xCount > 0 Then
        For i = xCount To 1 Step -1
            Set xAttachment = xAttachments.Item(i)
            If IsEmbeddedAttachment(xAttachment) = False Then
                xFileName = xSavePath & xAttachment.FileName
                xAttachment.SaveAsFile xFileName
                xAttachment.Delete
                If xMailItem.BodyFormat <> olFormatHTML Then
                    xOriginalFiles = xOriginalFiles & vbCrLf & "file://" & xFileName
                Else
                    xOriginalFiles = xOriginalFiles & "<br>" & "<a href='file://" & xFileName & "'>" & xFileName & "</a>"
                End If
            End If
        Next i
        If xMailItem.BodyFormat <> olFormatHTML Then
            xMailItem.Body = "The file(s) were saved to " & xOriginalFiles & vbCrLf & vbCrLf & xMailItem.Body
        Else
            xMailItem.HTMLBody = "<p>" & "The file(s) were saved to " & xOriginalFiles & "</p>" & xMailItem.HTMLBody
        End If
        xMailItem.Save
    End If
Next
Set xAttachments = Nothing
Set xMailItem = Nothing
End Sub

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

4. Premi il tasto F5 per eseguire il codice. Poi si aprirà una finestra BrowseForFolder, seleziona una cartella in cui salvare gli allegati e fai clic sul pulsante OK.

Tutti gli allegati delle email selezionate verranno salvati immediatamente nella cartella scelta.

Nota: Tutti gli allegati verranno rimossi dalle email e verranno mantenuti i collegamenti al percorso di salvataggio nel corpo dell'email.

save attachments with VBA 2

Salva gli allegati da una o più email senza aprirle con uno strumento incredibile

Se sei un principiante in VBA, il metodo descritto in questa sezione sarà una buona scelta per te.

Qui ti consigliamo le funzionalità Salva tutti gli allegati di Kutools per Outlook per te. Se desideri solo salvare gli allegati senza rimuoverli dalle email selezionate, la funzione Salva tutti gli allegati può aiutarti a farlo facilmente. Procedi come segue.
Prima di utilizzare Kutools per Outlook, per favore scarica e installalo prima.

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 vuoi salvare, fai clic su Kutools Plus > Strumenti allegati > Salva tutti.

2. Nella finestra di dialogo Impostazioni di salvataggio, devi:

  • 2.1) Nella sezione Salva gli allegati in questa cartella, scegli una cartella in cui salvare gli allegati;
  • 2.2) La casella Salva gli allegati con lo stile seguente è facoltativa per creare una sottocartella con uno stile specifico per salvare gli allegati o rinominare gli allegati salvati con uno stile particolare.
  • 2.3) Fai clic su OK per iniziare a salvare tutti gli allegati dalle email selezionate.

Suggerimenti: Con le configurazioni sopra, tutti gli allegati verranno salvati nella cartella specificata. Se vuoi salvare solo alcuni allegati specifici, ad esempio solo i file PDF con la parola "fattura" nel nome del file, puoi configurare le condizioni di filtro come segue.

  • Fai clic sul pulsante Opzioni avanzate per espandere le Condizioni di filtro;
  • Specifica le condizioni in base alle tue esigenze.
    Suggerimenti:Qui ho selezionato la casella Nome allegato contiene e poi ho inserito "fattura" nella casella di testo, quindi ho selezionato la casella Tipo di allegato e ho inserito ".pdf" nella casella di testo.
save attachments with kutools 2

3. Nella finestra di dialogo successiva, fai clic su per continuare.

Gli allegati delle email selezionate vengono salvati immediatamente nella cartella specificata.

Suggerimenti: Per rimuovere gli allegati dalle email selezionate lasciando solo i collegamenti ipertestuali degli allegati nel corpo dell'email, la funzione Rimuovi tutti gli allegati può aiutare.


Articoli correlati

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, hai qualche idea? Questo articolo introduce due soluzioni per scaricare automaticamente gli allegati da Outlook in una determinata cartella.

Mantieni gli allegati quando rispondi in Outlook
Quando inoltriamo un messaggio di posta elettronica in Microsoft Outlook, gli allegati originali presenti nell'email rimangono nel messaggio inoltrato. Tuttavia, quando rispondiamo a un messaggio di posta elettronica, gli allegati originali non verranno allegati al nuovo messaggio di risposta. Qui introduciamo alcuni trucchi per mantenere gli allegati originali quando si risponde in Microsoft Outlook.

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