Якщо ви хочете отримати звіт про кількість елементів у кожній папці Outlook, ви можете скористатися методом, представленим у цій статті. Він швидко зробить підрахунок і експортує результати у файл Excel.
У моїй попередній статті - “Як швидко отримати загальну кількість елементів у папці та всіх її підпапках через Outlook VBA», ви можете вивчити метод за допомогою VBA, щоб отримати кількість елементів у папці. Однак, таким чином, якщо ви хочете підрахувати елементи в усіх папках, вам потрібно вибрати кожну папку та запустити макрос один за іншим. Це трохи втомливо. Тому ми навчимо вас іншого методу, який експортує підрахунок у файл Excel.
Експортуйте загальну кількість елементів у кожній папці Outlook до Excel
- На початку запустіть програму Outlook.
- Потім натисніть клавіші “Alt + F11” у головному вікні Outlook.
- Далі ви потрапите у вікно «Microsoft Visual Basic for Applications», в якому вам потрібно відкрити модуль, який не використовується.
- Згодом скопіюйте та вставте наступний код VBA в цей модуль.
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
- Після цього вам потрібно змінити рівень захисту макросів Outlook на низький.
- Потім ви можете повернутися до щойно доданого макросу та натиснути кнопку F5, щоб запустити цей макрос.
- Далі вам потрібно вибрати вихідний файл PST і натиснути «ОК».
- Після завершення роботи макросу ви можете перейти до попередньо визначеної локальної папки, щоб знайти новий файл Excel, який виглядатиме як наведений нижче знімок екрана:
Усуньте дратівливі помилки PST
Можливо, ви стикалися з різними проблемами під час використання Outlook. Щоб впоратися з дрібними проблемами, ви можете просто вдатися до інструмент для ремонту вхідних -. Тим не менш, якщо проблеми настільки серйозні, що вони виходять за рамки можливостей вбудованого інструменту, вам доведеться скористатися більш потужним інструментом, як-от DataNumen Outlook Repair.
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі ремонт mdf та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com


