Batch Verplaats alle e-mails in een Outlook PST-bestand naar een specifieke map via VBA

Als u alle e-mails in een PST-bestand naar een specifieke map in een ander PST-bestand wilt verplaatsen, kunt u de methode gebruiken die in dit artikel is geïntroduceerd. Het zal je leren hoe je VBA kunt gebruiken om het snel te krijgen.

Soms moet u om de een of andere reden alle e-mails in een specifiek PST-bestand naar een specifieke map in een ander PST-bestand verplaatsen. In dit geval, als u het handmatig doet, zal het ongetwijfeld behoorlijk lastig zijn. Daarom zullen we hier een snelle methode leren, waarbij VBA wordt gebruikt om door alle mappen in een bepaald PST-bestand te bladeren en elke e-mail naar een specifieke map te verplaatsen. Lees verder om de uitgebreide stappen en codes te bereiken.

Batch Verplaats alle e-mails in een Outlook PST-bestand naar een specifieke map

Batch Verplaats alle e-mails in een Outlook PST-bestand naar een specifieke map

  1. Start vanaf het begin uw Outlook-applicatie.
  2. Vervolgens kunt u overschakelen naar het tabblad "Ontwikkelaar" en op de knop "Visual Basic" klikken. Of druk op de sneltoetsen "Alt + F11".
  3. Open vervolgens in het pop-upvenster van de VBA-editor een module die niet in gebruik is of voeg direct een nieuwe in.
  4. Kopieer en plak vervolgens de volgende VBA-codes in deze 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

VBA-codes - Batch Verplaats alle e-mails in een Outlook PST-bestand naar een specifieke map

  1. Wijzig daarna uw Outlook-macrobeveiligingsniveau naar laag.
  2. Uiteindelijk kunt u de nieuwe macro uitvoeren door op het pictogram "Uitvoeren" in de werkbalk te klikken of door op de toets "F5" te drukken.
  3. In één keer worden alle e-mails van alle mappen in een specifieke map in batches naar de vooraf bepaalde map verplaatst.

Red uw PST-gegevens op tijd

Mocht je helaas last hebben PST-schade, wat wil je dan doen? Over het algemeen moet uw eerste gedachte zijn om de gecompromitteerde PST-gegevens zo snel mogelijk terug te krijgen. Zoals gewoonlijk is de eenvoudigste manier om te herstellen vanaf een up-to-date gegevensback-up. Als de gegevensback-up echter enkele weken oud is, kan deze nutteloos zijn. In dit geval heeft u geen andere keuze dan terug te keren naar een krachtige hersteltool, zoals DataNumen Outlook Repair.

Auteur Introductie:

Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder mdf-oplossing en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com

Reacties zijn gesloten.