วิธีบันทึกอีเมลขาเข้าทั้งหมดไปยังฮาร์ดไดรฟ์โดยอัตโนมัติผ่าน Outlook VBA

แบ่งปันเลย:

ผู้ใช้อาจต้องการบันทึกอีเมลในฮาร์ดไดรฟ์เพื่อดูโดยไม่ขึ้นกับ Outlook หรือแชร์กับคนอื่น ในบทความนี้เราจะแนะนำวิธีการทำโดยอัตโนมัติผ่าน VBA

ส่งออกอีเมลจาก Outlook

ไฟล์ Outlook Msgไม่ใช่ผู้ใช้อินเทอร์เน็ตทุกคนที่ใช้ Outlook เป็นไคลเอนต์อีเมลและอาจใช้ตัวเลือกอื่น นอกจากนี้ยังอาจมีสถานการณ์ที่จำเป็นต้องแชร์อีเมลกับใครบางคนโดยไม่ต้องส่งผ่านอีเมลจริง นอกจากนี้เพื่อวัตถุประสงค์ในการจัดทำเอกสารและการตรวจสอบข้อเท็จจริงอีเมลมักถูกนำเสนอเป็นหลักฐาน สำหรับสถานการณ์ดังกล่าว Outlook เสนอวิธีการส่งออกอีเมลโดยแยกเป็นไฟล์. msg หรือ. html สคริปต์ VBA ต่อไปนี้จะบันทึกอีเมลขาเข้าทุกฉบับโดยอัตโนมัติไปยังตำแหน่งที่กำหนดไว้ล่วงหน้าบนฮาร์ดไดรฟ์โดยไม่มีการแทรกแซงของผู้ใช้ในรูปแบบ html เมื่อบันทึกแล้วอีเมลสามารถดูได้ในอินเทอร์เน็ตเบราว์เซอร์ใด ๆ โดยไม่ต้องใช้โปรแกรมรับส่งอีเมล

สคริปต์ Outlook VBA

ด้านล่างนี้คือสคริปต์ Outlook VBA ฉบับสมบูรณ์:

Private WithEvents Items As Outlook.Items

Private Count As Integer

Private Sub Application_Startup()
         Dim objApp As Outlook.Application
         Dim objNameSpace As Outlook.NameSpace   

         '        Get the items in the Inbox folder
         Set objApp = Outlook.Application
         Set objNameSpace = objApp.GetNamespace("MAPI")
         Set Items = objNameSpace.GetDefaultFolder(olFolderInbox).Items       
         '        Initialize count
         Count = 1
End Sub
 
Private Sub Items_ItemAdd(ByVal objItem As Object)
         On Error GoTo ShowError        

         Dim objMail As Outlook.MailItem     

         '        Check if the item is a mail. If yes, then save it as a HTML file and update Count
         If TypeName(objItem) = "MailItem" Then
                   Set objMail = objItem
                   objMail.SaveAs "C:\MyEmails\MyEmail" & CStr(Count), olHTML
                   Count = Count + 1
         End If      

         Exit Sub

ShowError:
         MsgBox Err.Number & " - " & Err.Description
End Sub

วิธีเรียกใช้สคริปต์

ข่าวประชาสัมพันธ์ Alt + F11 เปิดตัวแก้ไข VBA ของ Outlook แล้ววางโค้ดด้านบนลงใน “ThisOutlookSession” ก่อนเรียกใช้สคริปต์นี้ ตรวจสอบให้แน่ใจว่าโฟลเดอร์ “C:\MyEmails” มีอยู่และผู้ใช้มีสิทธิ์ในการเขียน นอกจากนี้ สิ่งสำคัญคือต้องทราบว่าก่อนเรียกใช้สคริปต์นี้ ควรเพิ่มไลบรารี Microsoft Outlook XX Object ลงในการอ้างอิงโครงการจากเมนู “เครื่องมือ” โดยที่ XX คือเวอร์ชันของไลบรารี

ทำความเข้าใจสคริปต์

ในสคริปต์นี้ รูทีน “Items_ItemAdd” จะถูกเรียกใช้ทุกครั้งที่มีรายการเข้ามาในโฟลเดอร์ Inbox ฟังก์ชัน “TypeName” มีไว้เพื่อให้แน่ใจว่ารูทีนจะทำงานก็ต่อเมื่อรายการนั้นเป็นอีเมลเท่านั้น ไม่ใช่ประเภทอื่น ๆ ของ Outlook หากคุณลากอีเมลจากโฟลเดอร์อื่น เช่น “รายการที่ส่งแล้ว” มายัง Inbox รูทีนก็จะยังคงทำงานต่อไป สิ่งสำคัญคือต้องทราบว่า “Items_ItemAdd” จะทำงานก็ต่อเมื่อมีการเพิ่มอีเมลลงในโฟลเดอร์ Inbox หลักเท่านั้น หากมีโฟลเดอร์ย่อยอยู่ภายในโฟลเดอร์ Inbox หลัก โค้ดจะไม่ทำงานหากมีการเพิ่มอีเมลลงในโฟลเดอร์ย่อยเหล่านั้น เพื่อให้ทำงานได้กับโฟลเดอร์อื่น ๆ ควรเชื่อมต่อ “Items_ItemAdd” กับโฟลเดอร์นั้น ๆ ในรูทีน “Application_Startup” ในสคริปต์ข้างต้น รูปแบบ olHTML สามารถแทนที่ด้วยรูปแบบ olMSG, olRTF, olDoc หรือ olTxt ได้ รูปแบบการตั้งชื่อเริ่มต้นสำหรับอีเมลแต่ละฉบับที่จะถูกบันทึกคือ “MyEmail##” โดยที่ ## คือจำนวนนับเริ่มต้นจาก 1 และเพิ่มขึ้นเรื่อยๆ ตัวอย่างเช่น อีเมลขาเข้าฉบับที่สิบสองหลังจากเรียกใช้สคริปต์นี้จะถูกบันทึกเป็น “MyEmail12”

การกู้คืนข้อมูลหลังจาก Outlook ล้มเหลว

ไม่ใช่เรื่องแปลกมากสำหรับ Outlook ที่จะเลิกกันและผู้ใช้ต้องสูญเสียข้อมูลจำนวนมาก การกู้คืนจากสถานการณ์ดังกล่าวอาจเป็นงานที่ยากและใช้เวลานานมาก เพื่อให้ชีวิตของคุณง่ายขึ้นในกรณีเช่นนี้คุณสามารถใช้ไฟล์ การกู้คืนข้อมูล Outlook เครื่องมือสำหรับการกู้คืนที่มีประสิทธิภาพและปราศจากข้อผิดพลาด

บทนำผู้เขียน:

Mary Underwood เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ การกู้คืน dwg และ rar ผลิตภัณฑ์ซอฟต์แวร์กู้คืน ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.

แบ่งปันเลย:

ความเห็นถูกปิด