Якщо ви хочете швидко експортувати структуру папок файлу даних Outlook до книги Excel, ви можете скористатися методом, представленим у цій статті.
З деяких причин, таких як журнал поточних папок і підпапок Outlook, багато користувачів сподіваються експортувати структуру папок файлу Outlook у зовнішній файл, як-от книга Excel. Далі ми поділимося з вами фрагментом коду VBA, який допоможе вам досягти цього миттєво.

Експортуйте структуру папок вашого файлу Outlook до Excel
- Для початку запустіть програму Outlook.
- Потім у головному вікні Outlook натисніть клавіші “Alt + F11”.
- Далі ви потрапите в редактор Outlook VBA, в якому вам потрібно відкрити невикористаний модуль.
- Згодом ви можете скопіювати наступний код VBA в цей модуль.
Dim objExcelApp As Excel.Application
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet
Dim lMainFolder As Long
Sub ExportFolderStructureToExcel()
Dim objSourcePSTFile As Folder
'Add a new Excel workbook
Set objExcelApp = CreateObject("Excel.Application")
Set objExcelWorkbook = objExcelApp.Workbooks.Add
Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
With objExcelWorksheet
.Cells(1, 1) = "Folder Structure"
.Cells(1, 1).Font.Size = 14
.Cells(1, 1).Font.Bold = True
End With
'Select an Outlook PST file
Set objSourcePSTFile = Application.Session.PickFolder
lMainFolder = Len(objSourcePSTFile.FolderPath) - Len(Replace(objSourcePSTFile.FolderPath, "\", "")) + 1
Call ExportToExcel(objSourcePSTFile.FolderPath, objSourcePSTFile.Name)
Call ProcessFolders(objSourcePSTFile.Folders)
'Save this Excel workbook
objExcelWorksheet.Columns("A").AutoFit
strExcelFile = "E:\Folder Structure (" & Format(Now, "yyyymmddhhmmss") & ").xlsx"
objExcelWorkbook.Close True, strExcelFile
MsgBox "Complete!", vbExclamation
End Sub
Sub ProcessFolders(ByVal objFolders As Folders)
Dim objFolder As Folder
'Process all folders recursively
For Each objFolder In objFolders
If objFolder.Name <> "Conversation Action Settings" And objFolder.Name <> "Quick Step Settings" Then
Call ExportToExcel(objFolder.FolderPath, objFolder.Name)
Call ProcessFolders(objFolder.Folders)
End If
Next
End Sub
Sub ExportToExcel(ByRef strFolderPath As String, strFolderName As String)
Dim i, n As Long
Dim strPrefix As String
Dim nLastRow As Integer
i = Len(strFolderPath) - Len(Replace(strFolderPath, "\", ""))
For n = lMainFolder To i
strPrefix = strPrefix & "-"
Next
strFolderName = strPrefix & strFolderName
'Input the folder name in Excel
nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
objExcelWorksheet.Range("A" & nLastRow) = strFolderName
End Sub
- Після цього переконайтеся, що в Outlook увімкнено макроси.
- Зрештою, ви можете зробити знімок:
- У поточному вікні макросу натисніть клавішу F5.
- Після завершення роботи макросу ви отримаєте сповіщення із запитом «Завершено».
- Пізніше ви можете перейти до попередньо визначеної локальної папки, щоб знайти новий файл Excel. Відкрийте його, і він виглядатиме як наведений нижче знімок екрана:
Ніколи не ігноруйте будь-які помилки Outlook
Незважаючи на велику кількість можливостей, Outlook так само сприйнятливий до помилок і пошкоджень, як і інші клієнти електронної пошти. Тому ви повинні приділяти увагу всім помилкам у вашому Outlook. Не нехтуйте ними, будь ласка. В іншому випадку накопичення помилок може остаточно призвести до пошкодження Outlook. Якщо ви зіткнетеся з вузликими помилками, пропонується використовувати потужний інструмент, наприклад DataNumen Outlook Repair, які можуть ремонт Outlook помилки протягом секунд.
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі відновлення SQL та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com

