Se desideri spostare tutte le e-mail in un file PST in una cartella specifica in un altro file PST, puoi utilizzare il metodo introdotto in questo articolo. Ti insegnerà come utilizzare VBA per ottenerlo rapidamente.
A volte, per qualche motivo, potrebbe essere necessario spostare tutte le e-mail in un file PST specifico in una cartella specifica in un altro file PST. In questo caso, se lo fai manualmente, sarà senza dubbio piuttosto fastidioso. Pertanto, qui insegneremo un metodo rapido, che utilizzerà VBA per scorrere tutte le cartelle in un determinato file PST e spostare ogni e-mail in una cartella specifica. Continua a leggere per ottenere i passaggi e i codici elaborati.
Sposta in batch tutte le e-mail in un file PST di Outlook in una cartella specifica
- All'inizio, avvia la tua applicazione Outlook.
- Quindi puoi passare alla scheda "Sviluppatore" e fare clic sul pulsante "Visual Basic". Oppure premi i tasti di scelta rapida "Alt + F11".
- Successivamente, nella finestra popup dell'editor VBA, aprire un modulo non in uso oppure inserirne direttamente uno nuovo.
- Quindi copia e incolla i seguenti codici VBA in questo modulo.
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
- Successivamente, modifica il livello di sicurezza delle macro di Outlook su basso.
- Alla fine puoi eseguire la nuova macro facendo clic sull'icona "Esegui" nella barra degli strumenti o premendo il tasto "F5".
- Contemporaneamente, tutte le e-mail di tutte le cartelle in una cartella specifica verranno spostate nella cartella predeterminata in batch.
Salva i tuoi dati PST in tempo
Se purtroppo soffri Danno PST, cosa farai allora? In generale, il tuo primo pensiero deve recuperare i dati PST compromessi il prima possibile. Come al solito, il modo più semplice è ripristinare da un backup dei dati aggiornato. Tuttavia, se il backup dei dati ha diverse settimane, potrebbe essere inutile. In questo caso, non hai altra scelta che ricorrere a un potente strumento di recupero, come ad esempio DataNumen Outlook Repair.
Introduzione dell'autore:
Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui correzione del mdf e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com

