Đôi khi, bạn có thể muốn xuất hàng loạt thư mục Outlook có tất cả các thư mục con và mục vào thư mục Windows. Bài viết này sẽ hướng dẫn bạn một phương pháp như vậy đó là áp dụng Outlook VBA.
Khi bạn muốn xuất một thư mục Outlook sang ổ đĩa cục bộ với tất cả các mục trong cùng một cấu trúc thư mục, nếu bạn chọn lưu và xuất theo cách thủ công, bạn sẽ mất rất nhiều thời gian. Vì vậy, tại sao bạn không sử dụng các phương tiện khác, chẳng hạn như bất kỳ công cụ xuất hoặc mã VBA nào? Ở đây chúng tôi sẽ tiết lộ một đoạn mã VBA như vậy cho bạn. Nó sẽ cho phép bạn đạt được nó như một làn gió.

Xuất tất cả các thư mục con và mục trong thư mục Outlook sang thư mục Windows
- Ngay từ đầu, hãy khởi động chương trình Outlook của bạn.
- Sau đó, trong cửa sổ Outlook chính, nhấn phím tắt “Alt + F11”.
- Sau đó, cửa sổ “Microsoft Visual Basic for Application” sẽ bật lên.
- Tiếp theo, bạn cần mở một mô-đun trống và sao chép các mã VBA sau vào đó.
Private objFileSystem As Object
Private Sub ExportFolderWithAllItems()
Dim objFolder As Outlook.Folder
Dim strPath As String
'Specify the root local folder
'Change it as per your needs
strPath = "E:\Outlook\"
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
'Select a Outlook PST file or Outlook folder
Set objFolder = Outlook.Application.Session.PickFolder
Call ProcessFolders(objFolder, strPath)
MsgBox "Complete", vbExclamation
End Sub
Private Sub ProcessFolders(objCurrentFolder As Outlook.Folder, strCurrentPath As String)
Dim objItem As Object
Dim strSubject, strFileName, strFilePath As String
Dim objSubfolder As Outlook.Folder
'Create the local folder based on the Outlook folder
strCurrentPath = strCurrentPath & objCurrentFolder.Name
objFileSystem.CreateFolder strCurrentPath
For Each objItem In objCurrentFolder.Items
strSubject = objItem.Subject
'Remove unsupported characters in the subject
strSubject = Replace(strSubject, "/", " ")
strSubject = Replace(strSubject, "\", " ")
strSubject = Replace(strSubject, ":", "")
strSubject = Replace(strSubject, "?", " ")
strSubject = Replace(strSubject, Chr(34), " ")
strFileName = strSubject & ".msg"
i = 0
Do Until False
strFilePath = strCurrentPath & "\" & strFileName
'Check if there exist a file in the same name
If objFileSystem.FileExists(strFilePath) Then
'Add a sequence order to the file name
i = i + 1
strFileName = strSubject & " (" & i & ").msg"
Else
Exit Do
End If
Loop
'Save as MSG file
objItem.SaveAs strFilePath, olMSG
Next
'Process subfolders recursively
If objCurrentFolder.folders.Count > 0 Then
For Each objSubfolder In objCurrentFolder.folders
Call ProcessFolders(objSubfolder, strCurrentPath & "\")
Next
End If
End Sub
- Sau đó, bạn cần đảm bảo rằng Outlook của mình cho phép macro trong cài đặt macro.
- Cuối cùng, bạn có thể thử.
- Đầu tiên, quay lại cửa sổ macro mới.
- Tiếp theo, nhấp vào chương trình con “ExportFolderWithAllItems”.
- Sau đó nhấn nút phím F5 để chạy macro này.
- Sau đó, bạn cần chọn một thư mục cụ thể.
- Cuối cùng, khi bạn nhận được thông báo “Hoàn thành”, bạn có thể truy cập vào thư mục cục bộ được xác định trước. Bạn sẽ thấy tất cả các mục đã được lưu trong cùng một cấu trúc thư mục.
Ngăn ngừa mất dữ liệu do sự cố Outlook
Có lẽ bạn đã từng gặp phải nhiều sự cố khiến Outlook bị treo. Hầu hết các trường hợp, sau khi khởi động lại, Outlook sẽ hoạt động bình thường trở lại. Tuy nhiên, cũng có trường hợp tệp PST của bạn bị hỏng. Khi đó, bạn sẽ cố gắng hết sức để khôi phục dữ liệu PST của mình, chẳng hạn như sử dụng một công cụ chuyên dụng như... DataNumen Outlook Repair. Nó có thể sửa chữa Outlook lỗi và trích xuất dữ liệu từ tệp PST bị xâm nhập mà không tốn một công sức nào.
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 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


