Tôi đã nhìn cao và thấp cho tất cả các bộ phận cần thiết để thực hiện bộ lọc đơn giản này. Bộ lọc Unix procmail rất dễ sử dụng bằng cách so sánh. Tất cả các trình hướng dẫn Microsoft Outlook có được một bộ lọc đơn giản bằng cách sử dụng các ký tự đại diện. Mặc dù nhiều điều kiện lọc email, Microsoft cung cấp theo mặc định là hữu ích, không có gì có thể đánh bại tính linh hoạt và tùy chỉnh của mã đang chạy.
- Viết mã của bạn.
Alt-F11 mang đến trình soạn thảo mã VBA. Nhấp đúp chuột vào ThisOutlookSession. Viết mã của bạn. Trong trường hợp của tôi, nó sử dụng biểu thức chính trên dòng chủ đề và chuyển nó không phải vào DefaultFolder mà là pst của riêng tôi trong thư mục con.
Sub filter(Item As Outlook.MailItem)
Dim ns As Outlook.NameSpace
Dim MailDest As Outlook.Folder
Set ns = Application.GetNamespace("MAPI")
Set Reg1 = CreateObject("VBScript.RegExp")
Reg1.Global = True
Reg1.Pattern = "(.*Abc.20.*)"
If Reg1.Test(Item.Subject) Then
Set MailDest = ns.Folders("Personal Folders").Folders("one").Folders("a")
Item.Move MailDest
End If
End Sub
- Chạy mã cho mỗi email đến với một Quy tắc.
Theo quy tắc, chọn "Quản lý quy tắc và cảnh báo ...". Quy tắc mới sẽ như thế nào
Apply this rule after the message arrives run Project1.ThisOutlookSession.filter
Để có được điều này, cho Bước 1: Chọn (các) điều kiện: chỉ cần nhấp vào tiếp theo. Xác nhận nó áp dụng cho tất cả các tin nhắn bằng cách nhấn OK. Đối với Chọn hành động, hãy kiểm tra "chạy tập lệnh", sau đó nhấp để chọn tập lệnh lọc và chọn Tiếp hoặc Hoàn tất. Đối với Chọn ngoại lệ, bấm Tiếp theo hoặc Kết thúc. Đặt cho nó một cái tên hay như bộ lọc vba và kiểm tra Bật quy tắc này. nhấp vào Kết thúc. Vì nó đối phó với một thư mục cục bộ, nhấp vào OK khi nó yêu cầu xác nhận quy tắc này sẽ không hoạt động đối với email bạn kiểm tra trực tuyến hoặc từ một thiết bị khác. Bấm OK vào hộp thoại Quy tắc và Cảnh báo.
- Outlook không thích nó khi macro không được ký. Để tự ký các macro của bạn, hãy tạo một chứng chỉ và sử dụng nó .