Cách di chuyển hàng loạt tất cả email trong tệp Outlook PST sang một thư mục cụ thể thông qua VBA

Chia sẻ ngay bây giờ:

Nếu bạn muốn di chuyển tất cả email trong tệp PST sang một thư mục cụ thể trong tệp PST khác, bạn có thể sử dụng phương pháp được giới thiệu trong bài viết này. Nó sẽ dạy bạn cách sử dụng VBA để nhanh chóng có được nó.

Đôi khi, vì một số lý do, bạn có thể cần di chuyển tất cả email trong một tệp PST cụ thể sang một thư mục cụ thể trong một tệp PST khác. Trong trường hợp này, nếu bạn làm thủ công thì chắc chắn sẽ khá rắc rối. Do đó, ở đây chúng tôi sẽ dạy một phương pháp nhanh, sử dụng VBA để lặp qua tất cả các thư mục trong một tệp PST nhất định và di chuyển từng email đến một thư mục cụ thể. Đọc tiếp để đạt được các bước và mã phức tạp.

Di chuyển hàng loạt tất cả email trong tệp Outlook PST sang một thư mục cụ thể

Di chuyển hàng loạt tất cả email trong tệp Outlook PST sang một thư mục cụ thể

  1. Ngay từ đầu, hãy khởi chạy ứng dụng Outlook của bạn.
  2. Sau đó, bạn có thể chuyển sang tab “Nhà phát triển” và nhấp vào nút “Visual Basic”. Hoặc nhấn phím tắt “Alt + F11”.
  3. Sau đó, trong cửa sổ soạn thảo VBA bật lên, hãy mở một mô-đun không sử dụng hoặc chèn thẳng một mô-đun mới.
  4. Tiếp theo sao chép và dán các mã VBA sau vào mô-đun này.
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

Mã VBA - Di chuyển hàng loạt tất cả email trong tệp Outlook PST sang một thư mục cụ thể

  1. Sau đó, thay đổi cấp độ bảo mật macro Outlook của bạn thành thấp.
  2. Cuối cùng, bạn có thể chạy macro mới bằng cách nhấp vào biểu tượng “Chạy” trên thanh công cụ hoặc nhấn phím “F5”.
  3. Đồng thời, tất cả email của tất cả các thư mục trong một thư mục cụ thể sẽ được chuyển đến thư mục được xác định trước theo đợt.

Cứu dữ liệu PST của bạn kịp thời

Nếu chẳng may bạn phải chịu đựng thiệt hại PST, Bạn sẽ làm gì sau đó? Nói chung, suy nghĩ đầu tiên của bạn là phải lấy lại dữ liệu PST bị xâm phạm càng sớm càng tốt. Như thường lệ, cách đơn giản nhất là khôi phục từ bản sao lưu dữ liệu cập nhật. Tuy nhiên, nếu bản sao lưu dữ liệu đã được vài tuần thì nó có thể vô dụng. Trong trường hợp này, bạn không có lựa chọn nào khác ngoài việc sử dụng lại một công cụ khôi phục mạnh mẽ, chẳng hạn như DataNumen Outlook Repair.

Giới thiệu tác giả:

Shirley Zhang là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm sửa chữa mdf và các sản phẩm phần mềm sửa chữa triển vọng. Để biết thêm thông tin, hãy truy cập www.datanumennăm

Chia sẻ ngay bây giờ:

Được đóng lại.