Si desea obtener un informe sobre el recuento de elementos en cada carpeta de Outlook, puede utilizar el método presentado en este artículo. Rápidamente hará el conteo y exportará los resultados a un archivo de Excel.
En mi artículo anterior: "Cómo obtener rápidamente el recuento total de elementos en una carpeta y todas sus subcarpetas a través de Outlook VBA”, Puede aprender un método usando VBA para obtener el recuento de elementos en una carpeta. Sin embargo, por ese medio, si desea contar los elementos en todas las carpetas, debe seleccionar cada carpeta y ejecutar la macro uno por uno. Es un poco tedioso. Por lo tanto, le enseñaremos otro método, que exportará el recuento a un archivo de Excel.
Exportar el recuento total de elementos en cada carpeta de Outlook a Excel
- Al principio, inicie su programa Outlook.
- Luego presione los botones de tecla "Alt + F11" en la ventana principal de Outlook.
- A continuación, accederá a la ventana "Microsoft Visual Basic para aplicaciones", en la que debe abrir un módulo que no está en uso.
- Posteriormente, copie y pegue el siguiente código VBA en este módulo.
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
- Después de eso, debe cambiar su nivel de seguridad macro de Outlook a bajo.
- Luego, puede volver a la macro recién agregada y presionar el botón de la tecla F5 para ejecutar esta macro.
- A continuación, debe seleccionar un archivo PST de origen y presionar "Aceptar".
- Una vez que finaliza la macro, puede ir a la carpeta local predefinida para encontrar el nuevo archivo de Excel, que se verá como la siguiente captura de pantalla:
Resuelva los molestos errores de PST
Quizás se haya encontrado con varios problemas durante el uso de Outlook. Para hacer frente a los pequeños problemas, simplemente puede recurrir a la herramienta de reparación de la bandeja de entrada. Sin embargo, si los problemas son tan serios que han ido más allá de lo que puede hacer la herramienta incorporada, debe usar una herramienta más poderosa, como DataNumen Outlook Repair.
Introducción del autor:
Shirley Zhang es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo reparación de mdf y productos de software de reparación de Outlook. Para más información visite www.datanumen.com


