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
Khô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

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