Se você deseja mover todos os e-mails em um arquivo PST para uma pasta específica em outro arquivo PST, pode usar o método apresentado neste artigo. Ele ensinará como usar o VBA para obtê-lo rapidamente.
Às vezes, por alguns motivos, pode ser necessário mover todos os e-mails em um arquivo PST específico para uma pasta específica em outro arquivo PST. Nesse caso, se você fizer isso manualmente, será sem dúvida bastante problemático. Portanto, aqui vamos ensinar um método rápido, que usará o VBA para percorrer todas as pastas de um determinado arquivo PST e mover cada e-mail para uma pasta específica. Continue lendo para obter as etapas e códigos elaborados.
Lote mover todos os e-mails em um arquivo PST do Outlook para uma pasta específica
- No início, inicie seu aplicativo Outlook.
- Em seguida, você pode alternar para a guia “Desenvolvedor” e clicar no botão “Visual Basic”. Ou pressione os atalhos de teclado "Alt + F11".
- Posteriormente, na janela pop-up do editor VBA, abra um módulo não em uso ou insira diretamente um novo.
- Em seguida, copie e cole os seguintes códigos VBA neste módulo.
Private Sub GetAllFolders()
Dim objFolders As Outlook.Folders
Dim objFolder As Outlook.Folder
'Get all the folders in a specific PST file
Set objFolders = Outlook.Application.Session.Folders("Personal").Folders
For Each objFolder In objFolders
Call MoveEmails(objFolder)
Next
End Sub
Private Sub MoveEmails(ByVal objFolder As Outlook.Folder)
Dim objTargetFolder As Outlook.Folder
Dim objSubFolder As Outlook.Folder
Dim i As Long
Dim objMail As Outlook.MailItem
'Get the specific destination folder
'You can change it as per your case
Set objTargetFolder = Outlook.Application.Session.Folders("John Smith").Folders("New")
If objTargetFolder Is Nothing Then
Set objTargetFolder = Outlook.Application.Session.Folders("John Smith").Folders.Add("New")
End If
'Move each emails in the folder to the destination folder
For i = objFolder.Items.Count To 1 Step -1
If objFolder.Items.Item(i).Class = olMail Then
Set objMail = objFolder.Items.Item(i)
objMail.Move objTargetFolder
End If
Next i
'Process the subfolders in the folder recursively
If (objFolder.Folders.Count > 0) Then
For Each objSubFolder In objFolder.Folders
Call MoveEmails(objSubFolder)
Next
End If
End Sub
- Depois disso, altere o nível de segurança de macro do Outlook para baixo.
- Eventualmente, você pode executar a nova macro clicando no ícone “Executar” na barra de ferramentas ou pressionando a tecla “F5”.
- Ao mesmo tempo, todos os e-mails de todas as pastas em uma pasta específica serão movidos para a pasta predeterminada em lotes.
Resgate seus dados PST a tempo
Se você infelizmente sofre dano PST, O que você vai fazer então? Em geral, seu primeiro pensamento deve ser recuperar os dados PST comprometidos o mais rápido possível. Como de costume, a maneira mais simples é restaurar a partir de um backup de dados atualizado. No entanto, se o backup de dados tiver várias semanas, pode ser inútil. Nesse caso, você não tem escolha a não ser recorrer a uma poderosa ferramenta de recuperação, como DataNumen Outlook Repair.
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 conserto de mdf e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

