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 tất cả các email trong thư mục Outlook, trước tiên bạn phải xuất từng email một vào ổ đĩa cục bộ, sau đó sử dụng “Gửi tới” > “Đã nén (zipped) thư mục”. Không còn nghi ngờ gì nữa, bằng cách này, nó quá tẻ nhạt. Do đó, để giúp bạn nhận ra điều đó ngay lập tức, trong phần sau, chúng tôi sẽ hướng dẫn bạn một phương pháp khác. Nó sẽ hướng dẫn bạn cách lấy nó bằng mã VBA. Nếu 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
- Đối với nhưtart, khởi chạy trình soạn thảo Outlook VBA thông qua “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 vấn đề phổ biến trong Outlook, không nghi ngờ gì nữa, hư hỏng Outlook là most một nghiêm túc. 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 thường, bạn cần thực hiện sao lưu dữ liệu Outlook thường xuyên. Thêm vào đó, thật thận trọng để có được một mạnh mẽ 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


