Pokud chcete získat zprávu o počtu položek v každé složce aplikace Outlook, můžete použít metodu uvedenou v tomto článku. Rychle provede počítání a exportuje výsledky do souboru Excel.
V mém předchozím článku - „Jak rychle získat celkový počet položek ve složce a všech jejích podsložkách pomocí aplikace Outlook VBA“, můžete se naučit metodu pomocí VBA, jak získat počet položek ve složce. To znamená, že pokud chcete spočítat položky ve všech složkách, musíte vybrat každou složku a spustit makro jednu po druhé. Je to trochu zdlouhavé. Naučíme vás proto další metodu, která počet exportuje do excelovského souboru.
Exportujte celkový počet položek v každé složce aplikace Outlook do aplikace Excel
- Na začátku spusťte program Outlook.
- Poté stiskněte „Alt + F11“ v hlavním okně aplikace Outlook.
- Dále se dostanete do okna „Microsoft Visual Basic for Applications“, ve kterém musíte otevřít modul, který se nepoužívá.
- Následně zkopírujte a vložte následující kód VBA do tohoto modulu.
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
- Poté musíte změnit úroveň zabezpečení maker aplikace Outlook na nízkou.
- Poté se můžete vrátit k nově přidanému makru a stisknutím klávesy F5 toto makro spustit.
- Dále musíte vybrat zdrojový soubor PST a stisknout „OK“.
- Po dokončení makra můžete přejít do předdefinované místní složky a najít nový soubor Excel, který bude vypadat jako následující snímek obrazovky:
Uklidněte nepříjemné chyby PST
Možná jste při používání aplikace Outlook narazili na různé problémy. Chcete-li se vypořádat s malými problémy, můžete se jednoduše uchýlit k nástroj pro opravu doručené pošty. Pokud jsou však problémy tak vážné, že přesahují to, co dokáže vestavěný nástroj, musíte použít výkonnější nástroj, např. DataNumen Outlook Repair.
Úvod autora:
Shirley Zhang je expertem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně Oprava MDF a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com


