ผู้ใช้บางคนต้องการบีบอัดอีเมลทั้งหมดในโฟลเดอร์ Outlook ลงในไฟล์ zip ไฟล์. แม้ว่าจะไม่มีฟังก์ชั่นโดยตรงเช่นนี้ แต่คุณสามารถใช้รหัส VBA ที่เปิดเผยในบทความนี้เพื่อให้เข้าใจได้อย่างรวดเร็ว
ไปยัง zip หากต้องการส่งออกอีเมลทั้งหมดในโฟลเดอร์ Outlook คุณต้องส่งออกไปยังไดรฟ์ภายในเครื่องทีละรายการก่อน จากนั้นใช้คุณสมบัติ “ส่งไปยัง” > “โฟลเดอร์บีบอัด (zipped)” วิธีนี้ค่อนข้างยุ่งยาก ดังนั้น เพื่อช่วยให้คุณทำได้ในครั้งเดียว ในส่วนต่อไปนี้ เราจะสอนวิธีการอื่นโดยใช้โค้ด VBA หากคุณไม่คุ้นเคยกับ VBA คุณสามารถดูข้อมูลเพิ่มเติมได้ที่ “วิธีเรียกใช้รหัส VBA ใน Outlook ของคุณ” ในระหว่างนี้

บีบอัดอีเมลทั้งหมดในโฟลเดอร์ลงในไฟล์ Zip เนื้อไม่มีมัน
- ขั้นแรก ให้เปิดตัวแก้ไข VBA ของ Outlook โดยกด “Alt + F11”
- จากนั้นคัดลอกและวางโค้ด VBA ลงในโมดูล
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
- หลังจากนั้นคลิกปุ่ม "F5" เพื่อเรียกใช้มาโครนี้
- ต่อมาในกล่องโต้ตอบป๊อปอัปให้เลือกโฟลเดอร์ Outlook ต้นทางแล้วคลิก“ ตกลง”
- เมื่อมาโครเสร็จสิ้นโฟลเดอร์ Windows จะปรากฏขึ้นซึ่งมีไฟล์ zip ซึ่งมีอีเมลทั้งหมดจากโฟลเดอร์ Outlook ที่เลือกดังแสดงในรูปต่อไปนี้
จัดการความเสียหายของไฟล์ Outlook ที่มีปัญหา
ในบรรดาปัญหาทั่วไปทั้งหมดของ Outlook ปัญหาความเสียหายของ Outlook นั้นร้ายแรงที่สุดอย่างไม่ต้องสงสัย อย่างไรก็ตาม ในความเป็นจริง ปัญหาดังกล่าวสามารถเกิดขึ้นได้ทุกเมื่อ ดังนั้น หากคุณเป็นผู้ใช้ Outlook เป็นประจำ คุณควรสำรองข้อมูล Outlook เป็นประจำ นอกจากนี้ การมีโปรแกรมสำรองข้อมูลที่มีประสิทธิภาพก็เป็นเรื่องที่ควรพิจารณา ซ่อมแซม Outlook ยูทิลิตี้เช่น DataNumen Outlook Repair.
บทนำผู้เขียน:
Shirley Zhang เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ แก้ไข sql และผลิตภัณฑ์ซอฟต์แวร์ซ่อมแซมแนวโน้ม ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.


