Một số người dùng muốn nén tất cả email trong thư mục Outlook thành một zip tài liệu. Mặc dù không có chức năng trực tiếp như vậy, nhưng bạn có thể sử dụng mã VBA được trình bày trong bài viết này để nhận ra nó một cách nhanh chóng.
Đến zip Để xuất tất cả email trong một thư mục Outlook, trước tiên bạn phải xuất chúng ra ổ cứng cục bộ từng cái một, sau đó sử dụng tính năng “Gửi đến” > “Thư mục nén (zipped)”. Chắc chắn, cách này quá tốn thời gian. Do đó, để giúp bạn thực hiện việc này một cách nhanh chóng, sau đây chúng tôi sẽ hướng dẫn bạn một phương pháp khác. Phương pháp này sẽ hướng dẫn bạn cách thực hiện bằng mã VBA. Nếu bạn chưa quen với VBA, bạn có thể tham khảo “Cách chạy mã VBA trong Outlook của bạn" trong luc đo.

Nén tất cả email trong một thư mục thành một Zip Tập tin
- Trước tiên, hãy mở trình chỉnh sửa VBA của Outlook bằng tổ hợp phím “Alt + F11”.
- Sau đó, sao chép và dán mã VBA vào một mô-đun.
Sub ZipAllEmailsInAFolder()
Dim objFolder As Outlook.Folder
Dim objItem As Object
Dim objMail As Outlook.MailItem
Dim strSubject As String
Dim varTempFolder As Variant
Dim varZipFile As Variant
Dim objShell As Object
Dim objFileSystem As Object
'Select an Outlook Folder
Set objFolder = Outlook.Application.Session.PickFolder
If Not (objFolder Is Nothing) Then
'Create a temp folder
varTempFolder = "E:\" & objFolder.Name & Format(Now, "YYMMDDHHMMSS")
MkDir (varTempFolder)
varTempFolder = varTempFolder & "\"
'Save each email as msg file
For Each objItem In objFolder.Items
If TypeOf objItem Is MailItem Then
Set objMail = objItem
strSubject = objMail.Subject
strSubject = Replace(strSubject, "/", " ")
strSubject = Replace(strSubject, "\", " ")
strSubject = Replace(strSubject, ":", "")
strSubject = Replace(strSubject, "?", " ")
strSubject = Replace(strSubject, Chr(34), " ")
objMail.SaveAs varTempFolder & strSubject & ".msg", olMSG
End If
Next
'Create a new ZIP file
varZipFile = "E:\" & objFolder.Name & " Emails.zip"
Open varZipFile For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1
'Add the exported msg files to the ZIP file
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(varZipFile).CopyHere objShell.NameSpace(varTempFolder).Items
On Error Resume Next
Do Until objShell.NameSpace(varZipFile).Items.Count = objShell.NameSpace(varTempFolder).Items.Count
Application.Wait (Now + TimeValue("0:00:01"))
Loop
On Error GoTo 0
'Delete the temp folder
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
objFileSystem.DeleteFolder Left(varTempFolder, Len(varTempFolder) - 1)
End If
End Sub
- Sau đó, nhấp vào nút phím “F5” để chạy macro này.
- Sau đó, trong hộp thoại bật lên, chọn thư mục nguồn Outlook và nhấp vào “OK”.
- Khi macro kết thúc, một thư mục Windows sẽ được hiển thị, trong đó có một thư mục mới zip tệp chứa tất cả các email từ thư mục Outlook đã chọn, như thể hiện trong hình dưới đây.
Xử lý sự cố hỏng tệp Outlook rắc rối
Trong số tất cả các sự cố thường gặp ở Outlook, không thể phủ nhận rằng việc Outlook bị hỏng là nghiêm trọng nhất. Tuy nhiên, trên thực tế, những vấn đề như vậy có thể xảy ra bất cứ lúc nào. Do đó, nếu bạn là người dùng Outlook thường xuyên, bạn cần sao lưu dữ liệu Outlook định kỳ. Thêm vào đó, việc sở hữu một phần mềm sao lưu mạnh mẽ cũng rất cần thiết. Sửa chữa Outlook tiện ích, 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 lỗi sql 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


