Come esportare email da più cartelle/sottocartelle in Excel in Outlook?
Esportare email da più cartelle o sottocartelle in Excel può essere un compito tedioso se si utilizzano metodi manuali o funzionalità limitate di Outlook. Fortunatamente, ci sono modi più efficienti per raggiungere questo obiettivo. In questo articolo, esploreremo due metodi: un approccio basato su VBA e una soluzione più veloce e facile da usare con Kutools per Outlook. Mentre il metodo VBA offre flessibilità, richiede una configurazione complessa e aggiustamenti. Al contrario, Kutools per Outlook fornisce un modo semplice e potente per esportare email in Excel con pochi clic, risparmiando tempo e sforzi. Entriamo nei dettagli.
Esporta Email da Più Cartelle/Sottocartelle in Excel Utilizzando VBA (Complesso ma Flessibile)
Esporta Email da una Cartella/Sottocartella in Excel Utilizzando Kutools per Outlook 👍 (Efficiente e Facile da Usare)
Esporta Email da Più Cartelle/Sottocartelle in Excel Utilizzando VBA
Se sei a tuo agio con la programmazione e hai bisogno di una soluzione personalizzabile, utilizzare VBA può essere efficace. Questo metodo ti permette di specificare più cartelle o sottocartelle ed esportarne le email in file Excel separati. Tuttavia, richiede conoscenze tecniche e una personalizzazione attenta del codice.
Passo 1: Apri l'Editor VBA
Premi Alt + F11 per avviare la finestra "Microsoft Visual Basic for Applications".
Passo 2: Inserisci un Nuovo Modulo
Clicca su "Inserisci" > "Modulo", quindi incolla il seguente codice VBA nella nuova finestra Modulo.
VBA: Esporta email da più cartelle e sottocartelle in Excel
Const MACRO_NAME = "Export Outlook Folders to Excel"
Sub ExportMain()
ExportToExcel "destination_folder_path\A.xlsx", "your_email_account\folder\subfolder_1"
ExportToExcel "destination_folder_path\B.xlsx", "your_email_account\folder\subfolder_2"
MsgBox "Process complete.", vbInformation + vbOKOnly, MACRO_NAME
End Sub
Sub ExportToExcel(strFilename As String, strFolderPath As String)
Dim olkMsg As Object
Dim olkFld As Object
Dim excApp As Object
Dim excWkb As Object
Dim excWks As Object
Dim intRow As Integer
Dim intVersion As Integer
If strFilename <> "" Then
If strFolderPath <> "" Then
Set olkFld = OpenOutlookFolder(strFolderPath)
If TypeName(olkFld) <> "Nothing" Then
intVersion = GetOutlookVersion()
Set excApp = CreateObject("Excel.Application")
Set excWkb = excApp.Workbooks.Add()
Set excWks = excWkb.ActiveSheet
With excWks
.Cells(1, 1) = "Subject"
.Cells(1, 2) = "Received"
.Cells(1, 3) = "Sender"
End With
intRow = 2
For Each olkMsg In olkFld.Items
If olkMsg.Class = olMail Then
excWks.Cells(intRow, 1) = olkMsg.Subject
excWks.Cells(intRow, 2) = olkMsg.ReceivedTime
excWks.Cells(intRow, 3) = GetSMTPAddress(olkMsg, intVersion)
intRow = intRow + 1
End If
Next
Set olkMsg = Nothing
excWkb.SaveAs strFilename
excWkb.Close
Else
MsgBox "The folder '" & strFolderPath & "' does not exist in Outlook.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The folder path was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The filename was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If
Set olkMsg = Nothing
Set olkFld = Nothing
Set excWks = Nothing
Set excWkb = Nothing
Set excApp = Nothing
End Sub
Public Function OpenOutlookFolder(strFolderPath As String) As Outlook.MAPIFolder
Dim arrFolders As Variant
Dim varFolder As Variant
Dim bolBeyondRoot As Boolean
On Error Resume Next
If strFolderPath = "" Then
Set OpenOutlookFolder = Nothing
Else
Do While Left(strFolderPath, 1) = "\"
strFolderPath = Right(strFolderPath, Len(strFolderPath) - 1)
Loop
arrFolders = Split(strFolderPath, "\")
For Each varFolder In arrFolders
Select Case bolBeyondRoot
Case False
Set OpenOutlookFolder = Outlook.Session.Folders(varFolder)
bolBeyondRoot = True
Case True
Set OpenOutlookFolder = OpenOutlookFolder.Folders(varFolder)
End Select
If Err.Number <> 0 Then
Set OpenOutlookFolder = Nothing
Exit For
End If
Next
End If
On Error GoTo 0
End Function
Function GetSMTPAddress(Item As Outlook.MailItem, intOutlookVersion As Integer) As String
Dim olkSnd As Outlook.AddressEntry
Dim olkEnt As Object
On Error Resume Next
Select Case intOutlookVersion
Case Is < 14
If Item.SenderEmailType = "EX" Then
GetSMTPAddress = SMTPEX(Item)
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
Case Else
Set olkSnd = Item.Sender
If olkSnd.AddressEntryUserType = olExchangeUserAddressEntry Then
Set olkEnt = olkSnd.GetExchangeUser
GetSMTPAddress = olkEnt.PrimarySmtpAddress
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
End Select
On Error GoTo 0
Set olkSnd = Nothing
Set olkEnt = Nothing
End Function
Function GetOutlookVersion() As Integer
Dim arrVer As Variant
arrVer = Split(Outlook.Version, ".")
GetOutlookVersion = arrVer(0)
End Function
Function SMTPEX(olkMsg As Outlook.MailItem) As String
Dim olkPA As Outlook.propertyAccessor
On Error Resume Next
Set olkPA = olkMsg.propertyAccessor
SMTPEX = olkPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x5D01001E")
On Error GoTo 0
Set olkPA = Nothing
End Function
Passo 3: Personalizza il Codice VBA
- Sostituisci "destination_folder_path" nel codice sopra con il percorso della cartella effettivo, ad esempio "C:\Users\DT168\Documents\TEST".
- Sostituisci "your_email_account\cartella\sottocartella_1" e "your_email_account\cartella\sottocartella_2" con i percorsi delle tue cartelle di Outlook, come "Kelly@extendoffice.com\Posta in arrivo\A" e "Kelly@extendoffice.com\Posta in arrivo\B".
Passo 4: Esegui il Codice
Premi "F5" o clicca sul pulsante "Esegui" per eseguire il codice. Quindi, clicca sul pulsante "OK" nella finestra di dialogo "Esporta Cartelle di Outlook in Excel" che appare. Ora tutte le email dalle cartelle/sottocartelle specificate sono state esportate in fogli di lavoro Excel.
Svantaggi:
- Configurazione Complessa: Richiede aggiustamenti accurati del codice e una conoscenza funzionante di VBA.
- Prone agli Errori: Piccoli errori nella personalizzazione possono portare a errori o esportazioni incomplete.
- Dispendioso in Tempo: Non adatto per esportazioni rapide o frequenti.
Trasforma la Gestione delle Email con l'Elaborazione in Massa!
Stanco di attività ripetitive con le email? Kutools per Outlook offre strumenti di "Elaborazione in Massa" per semplificare il tuo flusso di lavoro e risparmiare tempo prezioso.
- 🌟 Rispondi a Più Email: Invia risposte in massa utilizzando modelli senza sforzo.
- 📧 Inoltra Individualmente: Inoltra più email come messaggi regolari, non come allegati.
- 📝 Salva in Diversi Formati: Esporta email come PDF, Word, Excel e altro – tutto in una volta!

Esporta Email da una Cartella/Sottocartella in Excel Utilizzando Kutools per Outlook 👍
Per un approccio più rapido e senza problemi, "Kutools per Outlook" offre una funzione "Salva Email Selezionate come File in Diversi Formati". Questo metodo è altamente raccomandato per la sua semplicità, velocità e versatilità. Che tu stia gestendo un piccolo gruppo di email o grandi set di dati, Kutools garantisce un'esperienza fluida con il minimo sforzo.
Sblocca l'efficienza massima delle email con Kutools per Outlook! Accedi a 70 funzionalità potenti assolutamente gratis, per sempre. Scarica ora la versione gratuita!
Passo 1: Seleziona la Cartella o Sottocartella
Naviga fino alla cartella o sottocartella contenente le email che desideri esportare. Premi Ctrl + A per selezionare tutte le email nell'elenco.
Passo 2: Accedi alla Funzione Salva Email Selezionate come File in Diversi Formati
Clicca su "Kutools" > "Elaborazione in Massa" > "Salva Email Selezionate come File in Diversi Formati".
Passo 3: Configura le Impostazioni di Esportazione
- Nella finestra di dialogo "Salva email come altri file", scegli la cartella di destinazione dove vuoi salvare i file.
- Seleziona l'opzione "Formato Excel".
- Scegli i contenuti specifici delle email da esportare (ad esempio, intestazione, corpo) nella sezione "Contenuto da salvare".
Passo 4: Completa l'Esportazione
Clicca su "OK" per avviare il processo di esportazione. Una volta completato, troverai tutte le email salvate come file Excel separati nella cartella designata.
Vantaggi:
- Veloce e Intuitivo: Esporta email in Excel con pochi clic – nessuna competenza tecnica richiesta.
- Output Personalizzabile: Scegli formati di file specifici e contenuti per soddisfare le tue esigenze.
- Processo Privo di Errori: Evita le complessità e gli errori potenziali associati ai metodi VBA.
- Risultati Professionali: Perfetto per creare registrazioni organizzate o condividere dati in modo efficiente.
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!
📧 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...

