Als u een rapport wilt ontvangen over het aantal items in elke Outlook-map, kunt u de methode gebruiken die in dit artikel is geïntroduceerd. Het telt snel en exporteert de resultaten naar een Excel-bestand.
In mijn vorige artikel - "Snel het totale aantal items in een map en al zijn submappen ophalen via Outlook VBA”, kun je een methode leren met VBA om het aantal items in een map te krijgen. Als u echter de items in alle mappen wilt tellen, moet u elke map selecteren en de macro één voor één uitvoeren. Het is een beetje vervelend. Daarom leren we je een andere methode, die de telling naar een Excel-bestand exporteert.
Exporteer het totale aantal items in elke Outlook-map naar Excel
- Start in het begin uw Outlook-programma.
- Druk vervolgens op de toetsen "Alt + F11" in het hoofdvenster van Outlook.
- Vervolgens komt u in het venster "Microsoft Visual Basic for Applications", waarin u een module moet openen die niet in gebruik is.
- Kopieer en plak vervolgens de volgende VBA-code in deze module.
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
- Daarna moet u het macrobeveiligingsniveau van uw Outlook op laag zetten.
- Vervolgens kunt u teruggaan naar de nieuw toegevoegde macro en op de F5-toets drukken om deze macro uit te voeren.
- Vervolgens moet u een PST-bronbestand selecteren en op "OK" klikken.
- Nadat de macro is voltooid, kunt u naar de vooraf gedefinieerde lokale map gaan om het nieuwe Excel-bestand te vinden, dat eruitziet als de volgende schermafbeelding:
Los vervelende PST-fouten op
Misschien bent u verschillende problemen tegengekomen tijdens het gebruik van Outlook. Om de kleine problemen op te lossen, kunt u eenvoudig een beroep doen op de inbox reparatieprogramma. Desalniettemin, als de problemen zo ernstig zijn dat ze verder gaan dan wat de ingebouwde tool kan doen, moet je een krachtigere tool gebruiken, zoals DataNumen Outlook Repair.
Auteur Introductie:
Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder mdf reparatie en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com


