Jak wsadowo przenieść wszystkie wiadomości e-mail z pliku PST programu Outlook do określonego folderu za pośrednictwem języka VBA

Podziel się teraz:

Jeśli chcesz przenieść wszystkie wiadomości e-mail z pliku PST do określonego folderu w innym pliku PST, możesz skorzystać z metody opisanej w tym artykule. Nauczy Cię, jak używać VBA, aby szybko go zdobyć.

Czasami z pewnych powodów może być konieczne przeniesienie wszystkich wiadomości e-mail z określonego pliku PST do określonego folderu w innym pliku PST. W takim przypadku, jeśli zrobisz to ręcznie, będzie to niewątpliwie dość kłopotliwe. Dlatego tutaj nauczymy szybkiej metody, która użyje VBA do przechodzenia przez wszystkie foldery w określonym pliku PST i przenoszenia każdego e-maila do określonego folderu. Czytaj dalej, aby uzyskać szczegółowe kroki i kody.

Przenieś wsadowo wszystkie wiadomości e-mail z pliku PST programu Outlook do określonego folderu

Przenieś wsadowo wszystkie wiadomości e-mail z pliku PST programu Outlook do określonego folderu

  1. Na samym początku uruchom aplikację Outlook.
  2. Następnie możesz przejść do zakładki „Programista” i kliknąć przycisk „Visual Basic”. Lub naciśnij skróty klawiszowe „Alt + F11”.
  3. Następnie w wyskakującym oknie edytora VBA otwórz nieużywany moduł lub od razu wstaw nowy.
  4. Następnie skopiuj i wklej następujące kody VBA do tego modułu.
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

Kody VBA — Przenieś wsadowo wszystkie wiadomości e-mail z pliku PST programu Outlook do określonego folderu

  1. Następnie zmień poziom bezpieczeństwa makr programu Outlook na niski.
  2. Ostatecznie możesz uruchomić nowe makro, klikając ikonę „Uruchom” na pasku narzędzi lub naciskając klawisz „F5”.
  3. Od razu wszystkie e-maile ze wszystkich folderów w określonym folderze zostaną przeniesione do wcześniej określonego folderu partiami.

Uratuj swoje dane PST na czas

Jeśli niestety cierpisz Uszkodzenie PST, co wtedy zrobisz? Ogólnie rzecz biorąc, pierwszą myślą musi być jak najszybsze odzyskanie zainfekowanych danych PST. Jak zwykle najprostszym sposobem jest przywrócenie danych z aktualnej kopii zapasowej. Jeśli jednak kopia zapasowa danych ma kilka tygodni, może być bezużyteczna. W takim przypadku nie masz innego wyboru, jak tylko skorzystać z potężnego narzędzia do odzyskiwania, takiego jak DataNumen Outlook Repair.

Wprowadzenie autora:

Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym poprawka mdf i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com

Podziel się teraz:

Możliwość dodawania komentarzy nie jest dostępna.