Cách sao chép nhanh cấu trúc thư mục từ tệp Outlook PST này sang tệp khác thông qua VBA

Chia sẻ ngay bây giờ:

Nếu bạn muốn sao chép cấu trúc thư mục từ tệp Outlook PST này sang tệp Outlook 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. Bài viết này sẽ hướng dẫn bạn cách sử dụng VBA để sao chép nó trong một lần.

Có lẽ, để quản lý email của mình tốt hơn, bạn đã tạo một số thư mục tùy chỉnh trong tệp Outlook chính của mình. Do đó, khi tạo tệp Outlook PST mới, bạn có thể muốn áp dụng cấu trúc thư mục tương tự. Trên thực tế, trong bài viết trước của tôi – “2 bước để giữ nguyên cấu trúc thư mục hiện tại trong tệp Outlook mới”, bạn có thể học một phương pháp truyền thống, đó là sử dụng tính năng “Lưu trữ” để đạt được nó. Tuy nhiên, trên thực tế, nó vẫn còn một chút tẻ nhạt. So với nó, sử dụng mã VBA để lấy nó sẽ nhanh hơn nhiều. Do đó, trong phần tiếp theo, chúng tôi sẽ cho bạn biết các bước và mã phức tạp.

Sao chép nhanh cấu trúc thư mục từ một tệp PST của Outlook sang một tệp khác

Sao chép cấu trúc thư mục từ một tệp Outlook PST sang tệp khác

  1. Ngay từ đầu, hãy khởi động chương trình Outlook của bạn.
  2. Sau đó, trong cửa sổ Outlook, nhấn các nút phím “Alt + F11”.
  3. Tiếp theo bạn sẽ vào cửa sổ soạn thảo Outlook VBA.
  4. Sau đó, sao chép và dán các mã VBA sau vào một mô-đun mới.
Public objNewPSTFolder As Outlook.Folder
 
Sub CopyFolderStructure()
    Dim objFolders As Outlook.Folders
    Dim objFolder As Outlook.Folder
 
    'Get the folders of the source Outlook PST file
    Set objFolders = Outlook.Application.Session.Folders("Personal").Folders
 
    'Create the new pst file in your desired local folder and name
    Outlook.Application.Session.AddStore "E:\New PST File.pst"
    Set objNewPSTFolder = Session.Folders.GetLast()
 
    For Each objFolder In objFolders
        CreateFolder objFolder
    Next
 
    MsgBox "Completed!", vbOKOnly + vbInformation, "Copy Folder Structure"
End Sub
 
Sub CreateFolder(objFolder As Outlook.Folder)
    Dim objSubFolder As Outlook.Folder
 
    'Only copy the mail folder
    If (objFolder.DefaultItemType = olMailItem) Then
       'New Outlook PST file auto includes the "Deleted Items" folder, so skip it
       'Skip the useless mail folders - "Conversation Action Settings" and "Quick Step Settings"
       If (objFolder.Name <> "Deleted Items") And (objFolder.Name <> "Conversation Action Settings") And (objFolder.Name <> "Quick Step Settings") Then
 
          'Create the new folder
          objNewPSTFolder.Folders.Add objFolder.Name
          Set objNewPSTFolder = objNewPSTFolder.Folders.Item(objFolder.Name)
 
          For Each objSubFolder In objFolder.Folders
              CreateFolder objSubFolder
          Next
 
          Set objNewPSTFolder = objNewPSTFolder.parent
       End If
    End If

End Sub

Mã VBA - Sao chép cấu trúc thư mục từ tệp Outlook PST này sang tệp khác

  1. Sau đó, thay đổi cấp độ bảo mật vĩ mô của bạn thành thấp.
  2. Sau đó quay lại cửa sổ soạn thảo VBA và nhấn nút phím “F5” để chạy macro.
  3. Cuối cùng, sau khi macro kết thúc hoạt động, bạn sẽ nhận được thông báo nhắc “Đã hoàn thành!”.Thông báo nhắc Completed
  4. Tại thời điểm này, bạn có thể chuyển đến ngăn điều hướng thư. Bạn sẽ thấy Tệp Dữ liệu Outlook mới nằm trong cùng cấu trúc thư mục với tệp PST nguồn, giống như hình ảnh bên dưới:Sao chép cấu trúc thư mục

Đối phó với các rắc rối về PST

Vì Outlook PST dễ bị lỗi nên chắc hẳn nhiều bạn đã từng gặp phải các sự cố khác nhau trong Outlook. Đối mặt với chúng, trước tiên bạn có thể dùng thử công cụ sửa chữa hộp thư đến Outlook. Nếu không thành công, thì bạn có thể áp dụng một công cụ mạnh hơn của bên thứ ba, chẳng hạn như DataNumen Outlook Repair, có thể sửa chữa Outlook PST lỗi như một làn gió.

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 SQL Server sửa chữa 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.