Іноді вам може знадобитися пакетний експорт папки Outlook із усіма вкладеними папками та елементами до папки Windows. Ця стаття навчить вас такому методу, який застосовує Outlook VBA.
Якщо ви хочете експортувати папку Outlook на локальний диск із усіма елементами в одній структурі папок, якщо ви вирішите зберегти та експортувати вручну, це займе у вас багато часу. Отже, чому б вам не вдатися до інших засобів, таких як будь-які інструменти експорту чи коди VBA? Тут ми розкриємо вам такий фрагмент коду VBA. Це дозволить вам досягти цього, як вітерець.

Експортуйте всі підпапки та елементи у папці Outlook у папку Windows
- На самому початку запустіть програму Outlook.
- Потім у головному вікні Outlook натисніть комбінації клавіш “Alt + F11”.
- Згодом з’явиться вікно “Microsoft Visual Basic for Applications”.
- Далі потрібно відкрити порожній модуль і скопіювати в нього наступні коди VBA.
Private objFileSystem As Object
Private Sub ExportFolderWithAllItems()
Dim objFolder As Outlook.Folder
Dim strPath As String
'Specify the root local folder
'Change it as per your needs
strPath = "E:\Outlook\"
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
'Select a Outlook PST file or Outlook folder
Set objFolder = Outlook.Application.Session.PickFolder
Call ProcessFolders(objFolder, strPath)
MsgBox "Complete", vbExclamation
End Sub
Private Sub ProcessFolders(objCurrentFolder As Outlook.Folder, strCurrentPath As String)
Dim objItem As Object
Dim strSubject, strFileName, strFilePath As String
Dim objSubfolder As Outlook.Folder
'Create the local folder based on the Outlook folder
strCurrentPath = strCurrentPath & objCurrentFolder.Name
objFileSystem.CreateFolder strCurrentPath
For Each objItem In objCurrentFolder.Items
strSubject = objItem.Subject
'Remove unsupported characters in the subject
strSubject = Replace(strSubject, "/", " ")
strSubject = Replace(strSubject, "\", " ")
strSubject = Replace(strSubject, ":", "")
strSubject = Replace(strSubject, "?", " ")
strSubject = Replace(strSubject, Chr(34), " ")
strFileName = strSubject & ".msg"
i = 0
Do Until False
strFilePath = strCurrentPath & "\" & strFileName
'Check if there exist a file in the same name
If objFileSystem.FileExists(strFilePath) Then
'Add a sequence order to the file name
i = i + 1
strFileName = strSubject & " (" & i & ").msg"
Else
Exit Do
End If
Loop
'Save as MSG file
objItem.SaveAs strFilePath, olMSG
Next
'Process subfolders recursively
If objCurrentFolder.folders.Count > 0 Then
For Each objSubfolder In objCurrentFolder.folders
Call ProcessFolders(objSubfolder, strCurrentPath & "\")
Next
End If
End Sub
- Після цього вам потрібно переконатися, що ваш Outlook дозволяє макроси в налаштуваннях макросів.
- Зрештою, ви можете спробувати.
- По-перше, повернімось до нового вікна макросів.
- Потім натисніть на підпрограму “ExportFolderWithAllItems”.
- Потім натисніть клавішу F5, щоб запустити цей макрос.
- Після цього потрібно вибрати конкретну папку.
- Нарешті, коли ви отримуєте повідомлення із написом «Завершено», ви можете отримати доступ до визначеної локальної папки. Ви побачите, що всі елементи були збережені в одній структурі папок.
Запобігання втраті даних від збоїв Outlook
Можливо, ви коли-небудь стикалися з багатьма збоями Outlook. У більшості випадків після перезавантаження Outlook зможе працювати як завжди. Однак, буває також випадок, що наш PST-файл може бути пошкоджений. У такому разі вам слід спробувати відновити свої PST-дані, наприклад, звернувшись до досвідченого інструменту, такого як DataNumen Outlook Repair. Це вміє виправити Outlook помилки та витягувати дані з компрометованого файлу PST, не потіючи.
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі SQL Server ремонт та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com


