Kui soovite saada aruannet igas Outlooki kaustas olevate üksuste arvu kohta, saate kasutada selles artiklis kirjeldatud meetodit. See loendab kiiresti ja ekspordib tulemused Exceli faili.
Minu eelmises artiklis - "Kuidas kiiresti hankida Outlook VBA kaudu kaustas ja kõigis selle alamkaustades olevate üksuste koguarv”, saate õppida VBA-d kasutades meetodit kaustas olevate üksuste arvu saamiseks. See tähendab, et kui soovite loendada kõigis kaustades olevaid üksusi, peate valima iga kausta ja käivitama makro ükshaaval. See on natuke tüütu. Seetõttu õpetame teile teist meetodit, mis ekspordib loenduse Exceli faili.
Eksportige iga Outlooki kausta üksuste koguarv Excelisse
- Alguses käivitage Outlooki programm.
- Seejärel vajutage Outlooki peaaknas klahve Alt + F11.
- Järgmisena pääsete aknasse "Microsoft Visual Basic for Applications", kus peate avama mooduli, mida ei kasutata.
- Seejärel kopeerige ja kleepige sellesse moodulisse järgmine VBA kood.
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
- Pärast seda peate muutma oma Outlooki makro turvataseme madalaks.
- Seejärel saate naasta äsja lisatud makro juurde ja vajutada selle makro käivitamiseks klahvi F5.
- Järgmisena peate valima lähte-PST-faili ja vajutama "OK".
- Kui makro on lõppenud, võite minna eelmääratletud kohalikku kausta, et leida uus Exceli fail, mis näeb välja nagu järgmine ekraanipilt:
Rahustage tüütud PST-vead
Võib-olla olete Outlooki kasutamise ajal kokku puutunud erinevate probleemidega. Väikeste probleemide lahendamiseks võite lihtsalt kasutada postkasti parandamise tööriist. Sellegipoolest, kui probleemid on nii tõsised, et need on ületanud sisseehitatud tööriista võimekuse, peate kasutama võimsamat tööriista, näiteks DataNumen Outlook Repair.
Autori sissejuhatus:
Shirley Zhang on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas mdf remont ja Outlooki remonditarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom


