Às vezes, você pode querer exportar em lote uma pasta do Outlook com todas as subpastas e itens para uma pasta do Windows. Este artigo ensinará a você um método que está aplicando o Outlook VBA.
Quando você deseja exportar uma pasta do Outlook para a unidade local com todos os itens na mesma estrutura de pastas, se você optar por salvar e exportar manualmente, levará muito tempo. Então, por que você não recorre a outros meios, como ferramentas de exportação ou códigos VBA? Aqui vamos revelar esse pedaço de código VBA para você. Isso permitirá que você o alcance como uma brisa.

Exportar todas as subpastas e itens em uma pasta do Outlook para uma pasta do Windows
- Para começar, abra o programa Outlook.
- Em seguida, na janela principal do Outlook, pressione os atalhos de tecla “Alt + F11”.
- Posteriormente, a janela “Microsoft Visual Basic for Applications” será exibida.
- Em seguida, você precisa abrir um módulo em branco e copiar os seguintes códigos VBA para ele.
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
- Depois disso, você precisa garantir que seu Outlook permita macros nas configurações de macro.
- Eventualmente, você pode tentar.
- Em primeiro lugar, volte para a nova janela de macro.
- Em seguida, clique na sub-rotina “ExportFolderWithAllItems”.
- Em seguida, pressione o botão da tecla F5 para executar esta macro.
- Depois disso, você precisa selecionar uma pasta específica.
- Por fim, quando receber uma mensagem dizendo “Completo”, você pode acessar a pasta local predefinida. Você verá que todos os itens foram salvos na mesma estrutura de pastas.
Evite a perda de dados devido a falhas do Outlook
Talvez você já tenha se deparado com várias falhas do Outlook. Na maioria das vezes, após reiniciar, o Outlook volta a funcionar normalmente. No entanto, também existe a possibilidade de o arquivo PST ser corrompido. Nesse caso, você tentará recuperar os dados do seu arquivo PST, por exemplo, recorrendo a uma ferramenta especializada como... DataNumen Outlook Repair. É capaz de corrigir Outlook erros e extrair dados do arquivo PST comprometido sem suar a camisa.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo SQL Server reparar e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com


