Cách tự động lưu mọi email đến vào ổ cứng qua Outlook VBA

Chia sẻ ngay bây giờ:

Người dùng có thể muốn lưu email trên ổ cứng để xem chúng độc lập với Outlook hoặc để chia sẻ với người khác. Trong bài viết này, chúng tôi sẽ giới thiệu cách thực hiện điều đó một cách tự động thông qua VBA.

Xuất email từ Outlook

Tệp Msg OutlookKhông phải mọi người dùng internet đều sử dụng Outlook làm ứng dụng Email và có thể đang sử dụng một ứng dụng thay thế. Cũng có thể xảy ra trường hợp email cần được chia sẻ với ai đó mà không gửi qua email thực tế. Ngoài ra, đối với mục đích tài liệu và xem xét kỹ lưỡng, email thường được trình bày làm bằng chứng. Đối với những trường hợp như vậy, Outlook cung cấp một phương pháp để xuất email một cách độc lập dưới dạng tệp .msg hoặc .html. Tập lệnh VBA sau sẽ tự động lưu mọi email đến vào một vị trí được xác định trước trên ổ cứng mà không cần sự can thiệp của người dùng ở định dạng html. Sau khi được lưu, Email có thể được xem trong bất kỳ trình duyệt Internet nào mà không cần ứng dụng email.

Tập lệnh Outlook VBA

Dưới đây là tập lệnh Outlook VBA hoàn chỉnh:

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

Cách chạy tập lệnh

Ấn Bản Alt + F11 Mở trình soạn thảo VBA của Outlook và dán đoạn mã trên vào “ThisOutlookSession”. Trước khi chạy tập lệnh này, hãy đảm bảo rằng thư mục “C:\MyEmails” tồn tại và người dùng có quyền ghi vào thư mục đó. Hơn nữa, điều quan trọng cần biết là trước khi chạy tập lệnh này, thư viện đối tượng Microsoft Outlook XX phải được thêm vào phần tham chiếu của dự án từ menu “Công cụ”, trong đó XX là phiên bản của thư viện.

Hiểu kịch bản

Trong đoạn mã, thủ tục “Items_ItemAdd” sẽ được kích hoạt mỗi khi có mục mới được thêm vào thư mục Hộp thư đến. Hàm “TypeName” được thêm vào để đảm bảo rằng thủ tục chỉ tiếp tục nếu mục đó là email chứ không phải bất kỳ loại đối tượng Outlook nào khác. Nếu bạn kéo một email từ bất kỳ thư mục nào khác, ví dụ như “Mục đã gửi”, vào hộp thư đến, thủ tục vẫn sẽ hoạt động và thực hiện công việc. Điều quan trọng cần lưu ý là “Items_ItemAdd” chỉ được kích hoạt khi một email được thêm vào thư mục Hộp thư đến chính. Nếu có các thư mục lồng nhau bên trong thư mục Hộp thư đến chính, mã sẽ không hoạt động nếu một email được thêm vào bất kỳ thư mục nào trong số đó. Để nó hoạt động với bất kỳ thư mục nào khác, “Items_ItemAdd” cần được kết nối với thư mục cụ thể đó trong thủ tục “Application_Startup”. Trong đoạn mã trên, định dạng olHTML có thể được thay thế bằng các định dạng olMSG, olRTF, olDoc hoặc olTxt. Định dạng đặt tên mặc định cho mỗi email được lưu là “MyEmail##”, trong đó ## là số thứ tự bắt đầu từ 1 và tăng dần. Ví dụ, email thứ mười hai đến sau khi chạy tập lệnh này sẽ được lưu dưới dạng “MyEmail12”.

Phục hồi dữ liệu sau khi lỗi Outlook

Việc Outlook bị hỏng và người dùng cuối cùng sẽ mất rất nhiều dữ liệu không phải là một tình huống hiếm gặp. Phục hồi từ những tình huống như vậy có thể là một nhiệm vụ rất khó khăn và tốn thời gian. Để làm cho cuộc sống của bạn dễ dàng trong những trường hợp như vậy, bạn có thể sử dụng một Phục hồi dữ liệu Outlook công cụ phục hồi hiệu quả và không có lỗi.

Giới thiệu tác giả:

Mary Underwood 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 khôi phục dwg và rar sản phẩm phần mềm phục hồi. Để biết thêm thông tin, hãy truy cập www.datanumennăm

Chia sẻ ngay bây giờ:

Được đóng lại.