Иногда может потребоваться пакетный экспорт папки Outlook со всеми вложенными папками и элементами в папку Windows. Эта статья научит вас такому методу, как применение Outlook VBA.
Если вы хотите экспортировать папку Outlook на локальный диск со всеми элементами в одной структуре папок, если вы выберете сохранение и экспорт вручную, это займет у вас много времени. Итак, почему бы вам не прибегнуть к другим средствам, таким как любые инструменты экспорта или коды VBA? Здесь мы представим вам такой фрагмент кода VBA. Это позволит вам достичь этого, как ветер.

Экспорт всех подпапок и элементов в папке Outlook в папку Windows
- В самом начале сtarв вашей программе Outlook.
- Затем в главном окне Outlook нажмите сочетание клавиш «Alt + F11».
- После этого появится окно «Microsoft Visual Basic для приложений».
- Далее вам нужно открыть пустой модуль и скопировать в него следующие коды 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. Мost времени, после restarт, Outlook сможет работать в обычном режиме. Однако есть также случай, когда наш файл PST может быть поврежден. В это время вы постараетесь изо всех сил получить данные PST, например, вернуться к опытному инструменту, такому как DataNumen Outlook Repair, Это в состоянии исправить Outlook ошибок и извлекать данные из скомпрометированного PST-файла без особых усилий.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая SQL Server ремонт и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com


