Hvis du gerne vil flytte alle e-mails i en PST-fil til en bestemt mappe i en anden PST-fil, kan du bruge den metode, der er introduceret i denne artikel. Det vil lære dig, hvordan du bruger VBA til hurtigt at få det.
Nogle gange, af nogle grunde, kan det være nødvendigt at flytte alle e-mails i en bestemt PST-fil til en bestemt mappe i en anden PST-fil. I dette tilfælde, hvis du gør det manuelt, vil det uden tvivl være ret besværligt. Derfor vil vi her lære en hurtig metode, som vil bruge VBA til at gå gennem alle mapperne i en bestemt PST-fil og flytte hver e-mail til en bestemt mappe. Læs videre for at opnå de omfattende trin og koder.

Batch-flyt alle e-mails i en Outlook PST-fil til en bestemt mappe
- Start din Outlook-applikation lige fra starten.
- Derefter kan du skifte til fanen "Udvikler" og klikke på knappen "Visual Basic". Eller tryk på "Alt + F11" genvejstaster.
- Åbn derefter et modul, der ikke er i brug, eller indsæt et nyt i popup-vinduet til VBA-editoren.
- Kopier og indsæt derefter følgende VBA-koder i dette modul.
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
- Derefter skal du ændre dit Outlook-makro-sikkerhedsniveau til lavt.
- Til sidst kan du køre den nye makro ved at klikke på "Kør"-ikonet på værktøjslinjen eller trykke på "F5"-tasten.
- På én gang vil alle e-mails fra alle mapperne i en bestemt mappe blive flyttet til den forudbestemte mappe i batches.
Red dine PST-data i tide
Hvis du desværre lider PST-beskadigelse, hvad vil du så gøre? Generelt skal du først tænke på at få de kompromitterede PST-data tilbage så hurtigt som muligt. Som sædvanlig er den nemmeste måde at gendanne fra en opdateret datasikkerhedskopi. Men hvis datasikkerhedskopieringen er flere uger gammel, kan den være ubrugelig. I dette tilfælde har du intet andet valg end at vende tilbage til et potent genoprettelsesværktøj, som f.eks DataNumen Outlook Repair.
Forfatter Introduktion:
Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder mdf-rettelse og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com
