Ha jelentést szeretne kapni az egyes Outlook-mappák elemeinek számáról, használhatja az ebben a cikkben bemutatott módszert. Gyorsan elvégzi a számolást, és az eredményeket Excel-fájlba exportálja.
Előző cikkemben – „Hogyan lehet gyorsan lekérni a mappában és az összes almappájában lévő elemek teljes számát az Outlook VBA-n keresztül”, megtanulhat egy módszert a VBA használatával, amellyel lekérheti egy mappában lévő elemek számát. Ezáltal azonban, ha az összes mappában lévő elemeket meg akarja számolni, akkor mindegyik mappát ki kell választania, és egyenként kell futtatnia a makrót. Kicsit unalmas. Ezért megtanítunk egy másik módszert, amely a számlálást Excel fájlba exportálja.
Exportálja az egyes Outlook mappákban lévő elemek teljes számát Excelbe
- Az elején indítsa el az Outlook programot.
- Ezután nyomja meg az „Alt + F11” billentyűket az Outlook főablakában.
- Ezután megjelenik a „Microsoft Visual Basic for Applications” ablak, amelyben meg kell nyitnia egy nem használt modult.
- Ezt követően másolja ki és illessze be a következő VBA-kódot ebbe a modulba.
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
- Ezt követően alacsonyra kell állítania az Outlook makró biztonsági szintjét.
- Ezután visszatérhet az újonnan hozzáadott makróhoz, és nyomja meg az F5 billentyűt a makró futtatásához.
- Ezután ki kell választania egy forrás PST-fájlt, és meg kell nyomnia az „OK” gombot.
- A makró befejezése után lépjen az előre meghatározott helyi mappába, és keresse meg az új Excel-fájlt, amely a következő képernyőképhez hasonlóan fog kinézni:
Állítsa le a bosszantó PST hibákat
Lehet, hogy különböző problémákkal találkozott az Outlook használata során. Az apró problémák megoldásához egyszerűen igénybe veheti a postafiók javító eszköz. Mindazonáltal, ha a problémák olyan súlyosak, hogy túllépték azt, amit a beépített eszköz képes, akkor erősebb eszközt kell használnia, mint pl. DataNumen Outlook Repair.
Szerző Bevezetés:
Shirley Zhang adat-helyreállítási szakértő DataNumen, Inc., amely világelső az adat-helyreállítási technológiák területén, beleértve mdf javítás és outlook javítószoftver termékek. További információért látogasson el www.datanumen.com


