Jei norite gauti ataskaitą apie elementų skaičių kiekviename „Outlook“ aplanke, galite naudoti šiame straipsnyje aprašytą metodą. Jis greitai suskaičiuos ir eksportuos rezultatus į „Excel“ failą.
Mano ankstesniame straipsnyje – „Kaip greitai gauti bendrą elementų skaičių aplanke ir visuose jo poaplankiuose naudojant „Outlook VBA““, galite išmokti metodą naudodami VBA, kad gautumėte aplanke esančių elementų skaičių. Tačiau tokiu būdu, jei norite skaičiuoti elementus visuose aplankuose, turite pasirinkti kiekvieną aplanką ir paleisti makrokomandą po vieną. Tai šiek tiek nuobodu. Todėl išmokysime kito metodo, kuris eksportuos skaičių į Excel failą.
Eksportuokite bendrą kiekvieno „Outlook“ aplanko elementų skaičių į „Excel“.
- Iš pradžių paleiskite „Outlook“ programą.
- Tada pagrindiniame „Outlook“ lange paspauskite klavišus „Alt + F11“.
- Tada pateksite į langą „Microsoft Visual Basic for Applications“, kuriame turite atidaryti nenaudojamą modulį.
- Tada nukopijuokite ir įklijuokite šį VBA kodą į šį 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
- Po to turite pakeisti „Outlook“ makrokomandos saugos lygį į žemą.
- Tada galite grįžti į naujai pridėtą makrokomandą ir paspausti klavišo F5 mygtuką, kad paleistumėte šią makrokomandą.
- Tada turite pasirinkti šaltinio PST failą ir paspausti „Gerai“.
- Pasibaigus makrokomandai, galite pereiti į iš anksto nustatytą vietinį aplanką ir rasti naują „Excel“ failą, kuris atrodys kaip ši ekrano kopija:
Išspręskite erzinančias PST klaidas
Galbūt naudodamiesi „Outlook“ susidūrėte su įvairiomis problemomis. Norėdami išspręsti mažas problemas, galite tiesiog kreiptis į pašto dėžutės taisymo įrankis. Nepaisant to, jei problemos yra tokios rimtos, kad jos viršija tai, ką gali padaryti integruotas įrankis, turite naudoti galingesnį įrankį, pvz., DataNumen Outlook Repair.
Autoriaus įvadas:
Shirley Zhang yra duomenų atkūrimo ekspertė DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant mdf remontas ir „Outlook“ taisymo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com


