Nhiều người dùng hy vọng rằng Outlook có thể tự động di chuyển và lưu trữ các email đến vào các thư mục thư cụ thể theo tên tệp đính kèm. Vì vậy, trong bài viết này, chúng tôi sẽ giới thiệu một cách nhanh chóng để giúp bạn có được nó với Outlook VBA.
Nếu bạn muốn tự động di chuyển các email đến đến các thư mục cụ thể theo tên tệp của tệp đính kèm, chắc chắn bạn sẽ nghĩ đến việc sử dụng quy tắc Outlook ngay từ đầu. Tuy nhiên, cuối cùng bạn sẽ phát hiện ra rằng quy tắc Outlook không có tính năng kiểm tra tên tệp đính kèm. Do đó, nếu bạn thực sự muốn nhận ra nó, bạn phải sử dụng các cách khác, chẳng hạn như thông qua bổ trợ của bên thứ ba hoặc Outlook VBA. Vì vậy, ở đây chúng tôi sẽ hướng dẫn bạn cách đạt được điều đó với VBA. Đọc tiếp để biết các thao tác chi tiết và mã VBA cụ thể.

Tự động di chuyển email đến các thư mục cụ thể dựa trên tệp đính kèm
- Đối với nhưtart, hãy khởi chạy chương trình Outlook của bạn như bình thường.
- Sau đó nhấn các nút phím “Alt + F11” để truy cập trình chỉnh sửa VBA.
- Trong cửa sổ “Microsoft Visual Basic for Applications” tiếp theo, bạn có thể tìm và nhấp đúp vào dự án “ThisOutlookSession” ở bên trái.
- Tiếp theo, trong cửa sổ dự án “ThisOutlookSession” đã mở, hãy sao chép và dán các mã VBA sau.
Public WithEvents objMails As Outlook.Items
Private Sub Application_Startup()
Set objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub objMails_ItemAdd(ByVal Item As Object)
Dim objMail As Outlook.MailItem
Dim objAttachments As Outlook.attachments
Dim objAttachment As Outlook.Attachment
Dim strAttachmentName As String
Dim objInboxFolder As Outlook.Folder
Dim objTargetFolder As Outlook.Folder
'Ensure the incoming item is an email
If TypeOf Item Is MailItem Then
Set objMail = Item
Set objAttachments = objMail.attachments
'Check if the incoming email contains one or more attachments
If objAttachments.Count > 0 Then
For Each objAttachment In objAttachments
strAttachmentName = objAttachment.DisplayName
Set objInboxFolder = Application.Session.GetDefaultFolder(olFolderInbox)
'Check the names of all the attachments
'Specify the target folders
If InStr(LCase(strAttachmentName), "worklog") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("WorkLog")
ElseIf InStr(LCase(strAttachmentName), "report") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("Report")
ElseIf InStr(LCase(strAttachmentName), "statistics") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("Statistics")
End If
Next
'Move the email to specific folder
objMail.Move objTargetFolder
End If
End If
End Sub
- Sau đó, bạn cần ký điện tử dự án VBA mới.
- Đầu tiên, bạn có thể sử dụng công cụ có sẵn – Digital Certificates for VBA Projects để tạo chứng chỉ cá nhân.
- Sau đó, trong trình chỉnh sửa VBA, nhấp vào “Công cụ” > “Chữ ký số” trên thanh công cụ.
- Tiếp theo làm theo hướng dẫn trên màn hình để ký tên.
- Sau đó, bạn có thể thoát khỏi trình soạn thảo VBA và thay đổi bảo mật macro Outlook thành thấp.
- Sau này bạn nên restart Outlook để kích hoạt dự án VBA mới.
- Cuối cùng, kể từ bây giờ, Outlook sẽ tự động kiểm tra tên tệp đính kèm của tất cả các email đến và di chuyển những tệp cụ thể vào các thư mục cụ thể.
Bảo vệ dữ liệu PST của bạn
nó là khất thựcost một thực tế không thể nghi ngờ là Outlook dễ bị hỏng. Do đó, việc bảo vệ dữ liệu PST của bạn khỏi bị hư hại là một nhiệm vụ khá khó khăn. Nhưng bạn vẫn có thể tìm thấy một số quy tắc và lời khuyên. Chẳng hạn, để tránh mất dữ liệu PST, bạn có thể kiên trì thực hiện sao lưu dữ liệu thông thường. Hơn nữa, để cung cấp giải cứu ngay lập tức sau khi Outlook gặp sự cố, bạn có thể chuẩn bị một chuyên gia có kinh nghiệm PST sửa chữa công cụ, 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 SQL Server phục hồi 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

