Si vous souhaitez déplacer tous les e-mails d'un fichier PST vers un dossier spécifique d'un autre fichier PST, vous pouvez utiliser la méthode présentée dans cet article. Il vous apprendra à utiliser VBA pour l'obtenir rapidement.
Parfois, pour certaines raisons, vous devrez peut-être déplacer tous les e-mails d'un fichier PST spécifique vers un dossier spécifique d'un autre fichier PST. Dans ce cas, si vous le faites manuellement, ce sera sans aucun doute assez gênant. Par conséquent, nous allons enseigner ici une méthode rapide, qui utilisera VBA pour parcourir tous les dossiers d'un certain fichier PST et déplacer chaque e-mail vers un dossier spécifique. Lisez la suite pour réaliser les étapes et les codes élaborés.

Déplacer par lots tous les e-mails d'un fichier Outlook PST vers un dossier spécifique
- Au tout début, lancez votre application Outlook.
- Ensuite, vous pouvez passer à l'onglet "Développeur" et cliquer sur le bouton "Visual Basic". Ou appuyez sur les raccourcis clavier "Alt + F11".
- Ensuite, dans la fenêtre contextuelle de l'éditeur VBA, ouvrez un module non utilisé ou insérez-en directement un nouveau.
- Ensuite, copiez et collez les codes VBA suivants dans ce module.
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
- Après cela, modifiez le niveau de sécurité de votre macro Outlook sur faible.
- Finalement, vous pouvez exécuter la nouvelle macro en cliquant sur l'icône "Exécuter" dans la barre d'outils ou en appuyant sur la touche "F5".
- En même temps, tous les e-mails de tous les dossiers d'un dossier spécifique seront déplacés vers le dossier prédéterminé par lots.
Sauvez vos données PST à temps
Si vous souffrez malheureusement Dommages PST, Que feras-tu, alors? En général, votre première pensée doit être de récupérer les données PST compromises dès que possible. Comme d'habitude, le moyen le plus simple est de restaurer à partir d'une sauvegarde de données à jour. Cependant, si la sauvegarde des données date de plusieurs semaines, elle peut être inutile. Dans ce cas, vous n'avez pas d'autre choix que de recourir à un outil de récupération puissant, tel que DataNumen Outlook Repair.
Introduction de l'auteur:
Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris correctif mdf et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com
