Hvis du ønsker at få en rapport om antallet af elementer i hver Outlook-mappe, kan du bruge metoden introduceret i denne artikel. Det vil hurtigt tælle og eksportere resultaterne til en Excel-fil.
I min tidligere artikel - “Sådan får du hurtigt det samlede antal varer i en mappe og alle dens undermapper via Outlook VBA”, Kan du lære en metode ved hjælp af VBA for at få antallet af emner i en mappe. Men på den måde, hvis du vil tælle elementerne i alle mapper, skal du vælge hver mappe og køre makroen en efter en. Det er lidt kedeligt. Derfor vil vi lære dig en anden metode, der eksporterer optællingen til en Excel-fil.
Eksporter det samlede antal poster i hver Outlook-mappe til Excel
- I starten skal du starte dit Outlook-program.
- Tryk derefter på “Alt + F11” -tasten i hovedvinduet i Outlook.
- Derefter kommer du ind i "Microsoft Visual Basic for Applications" -vinduet, hvor du skal åbne et modul, der ikke er i brug.
- Kopier og indsæt derefter følgende VBA-kode i dette modul.
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
- Derefter skal du ændre dit Outlook-makro-sikkerhedsniveau til lavt.
- Derefter kan du vende tilbage til den nyligt tilføjede makro og trykke på F5-tasten for at køre denne makro.
- Dernæst skal du vælge en kilde-PST-fil og trykke på "OK".
- Når makroen er færdig, kan du gå til den foruddefinerede lokale mappe for at finde den nye Excel-fil, som vil se ud som følgende skærmbillede:
Læg ned irriterende PST-fejl
Måske er du stødt på forskellige problemer under brugen af Outlook. For at håndtere de små problemer kan du simpelthen ty til værktøj til reparation af indbakke. Ikke desto mindre, hvis problemerne er så alvorlige, at de har været ud over, hvad det indbyggede værktøj kan gøre, skal du bruge et mere kraftfuldt værktøj, som DataNumen Outlook Repair.
Forfatter Introduktion:
Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder mdf reparation og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com


