Comment déplacer par lots tous les e-mails d'un fichier Outlook PST vers un dossier spécifique via VBA

Partage maintenant:

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

Déplacer par lots tous les e-mails d'un fichier Outlook PST vers un dossier spécifique

  1. Au tout début, lancez votre application Outlook.
  2. Ensuite, vous pouvez passer à l'onglet "Développeur" et cliquer sur le bouton "Visual Basic". Ou appuyez sur les raccourcis clavier "Alt + F11".
  3. Ensuite, dans la fenêtre contextuelle de l'éditeur VBA, ouvrez un module non utilisé ou insérez-en directement un nouveau.
  4. 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

Codes VBA - Déplacer par lots tous les e-mails d'un fichier Outlook PST vers un dossier spécifique

  1. Après cela, modifiez le niveau de sécurité de votre macro Outlook sur faible.
  2. 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".
  3. 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

Partage maintenant:

Les commentaires sont fermés.