Se desideri ottenere un rapporto sul conteggio degli elementi in ciascuna cartella di Outlook, puoi utilizzare il metodo introdotto in questo articolo. Farà rapidamente il conteggio ed esporterà i risultati in un file Excel.
Nel mio precedente articolo – “Come ottenere rapidamente il conteggio totale degli elementi in una cartella e tutte le sue sottocartelle tramite Outlook VBA”, puoi imparare un metodo usando VBA per ottenere il conteggio degli elementi in una cartella. Tuttavia, in questo modo, se si desidera contare gli elementi in tutte le cartelle, è necessario selezionare ciascuna cartella ed eseguire la macro una per una. È un po' noioso. Pertanto, ti insegneremo un altro metodo, che esporterà il conteggio in un file Excel.

Esporta il conteggio totale degli elementi in ogni cartella di Outlook in Excel
- All'inizio, avvia il tuo programma Outlook.
- Quindi premere i pulsanti "Alt + F11" nella finestra principale di Outlook.
- Successivamente entrerai nella finestra "Microsoft Visual Basic for Applications", in cui devi aprire un modulo che non è in uso.
- Successivamente, copia e incolla il seguente codice VBA in questo modulo.
Public strExcelFile As String
Public objExcelApp As Excel.Application
Public objExcelWorkbook As Excel.Workbook
Public objExcelWorksheet As Excel.Worksheet
Sub Export_CountOfItems_InEachFolder_toExcel()
Dim objSourcePST As Outlook.Folder
Dim objFolder As Outlook.Folder
'Create a new Excel file
Set objExcelApp = CreateObject("Excel.Application")
Set objExcelWorkbook = objExcelApp.Workbooks.Add
Set objExcelWorksheet = objExcelWorkbook.Sheets("Sheet1")
objExcelWorksheet.Cells(1, 1) = "Folder"
objExcelWorksheet.Cells(1, 2) = "Count Items"
'Select a source PST file
Set objSourcePST = Outlook.Application.Session.PickFolder
For Each objFolder In objSourcePST.folders
Call ProcessFolders(objFolder)
Next
'Fit the columns from A to B
objExcelWorksheet.Columns("A:B").AutoFit
strExcelFile = "E:\Outlook\" & objSourcePST.Name & " Folder Items Count (" & Format(Now, "yyyy-mm-dd hh-mm-ss") & ").xlsx"
objExcelWorkbook.Close True, strExcelFile
MsgBox "Complete!", vbExclamation
End Sub
Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder)
Dim objItem As Object
Dim lCurrentFolderItemCount As Long
Dim nLastRow As Integer
lCurrentFolderItemCount = objCurrentFolder.Items.Count
nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
'Add the values into the columns
objExcelWorksheet.Range("A" & nLastRow) = objCurrentFolder.FolderPath
objExcelWorksheet.Range("B" & nLastRow) = lCurrentFolderItemCount
If objCurrentFolder.folders.Count > 0 Then
For Each objSubfolder In objCurrentFolder.folders
Call ProcessFolders(objSubfolder)
Next
End If
End Sub
- Successivamente, è necessario modificare il livello di sicurezza delle macro di Outlook su basso.
- Quindi puoi tornare alla macro appena aggiunta e premere il tasto F5 per eseguire questa macro.
- Successivamente è necessario selezionare un file PST di origine e premere "OK".
- Al termine della macro, puoi andare alla cartella locale predefinita per trovare il nuovo file Excel, che avrà l'aspetto del seguente screenshot:
Stabilisci i fastidiosi errori PST
Forse hai riscontrato vari problemi durante l'utilizzo di Outlook. Per affrontare i piccoli problemi, puoi semplicemente ricorrere al strumento di riparazione della posta in arrivo. Tuttavia, se i problemi sono così gravi da andare oltre ciò che lo strumento integrato può fare, è necessario utilizzare uno strumento più potente, come DataNumen Outlook Repair.
Introduzione dell'autore:
Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui riparazione mdf e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com

