Xin tác giả hãy demo một số ví dụ cụ thể hơn, dễ hiểu hơn ạ.
Ví dụ:
Viết macro VBA lọc ra những mail thuộc hạng mục (category) "Red category" trong thư mục Inbox của store mặc định. Macro này sử dụng một trong các phương thức tìm kiếm của Outlook,
Restrict, để thực hiện lọc item.
Bạn cần đăng nhập để thấy hình ảnh
Thuộc tính
Keywords nằm trong không gian tên (namespace)
urn:schemas-microsoft-comfficeffice# tương ứng với tính năng category của mail. Tên đầy đủ của nó là:
urn:schemas-microsoft-comfficeffice#Keywords.
Bạn cần đăng nhập để thấy hình ảnh
Private Sub FilterMailsWithCategory()
Dim objInboxFld As Outlook.Folder
Set objInboxFld = Application.Session.GetDefaultFolder(olFolderInbox)
Dim objItems As Outlook.Items
Set objItems = objInboxFld.Items.Restrict("@SQL=" & Quote("urn:schemas-microsoft-com:office:office#Keywords") & " = 'Red category'")
If objItems.Count > 0 Then
Dim i As Long, objApptItem As Outlook.MailItem
For i = 1 To objItems.Count
If TypeOf objItems.Item(i) Is Outlook.MailItem Then
Set objApptItem = objItems.Item(i)
Debug.Print objApptItem.Subject
End If
Next
End If
End Sub
Private Function Quote(ByVal Text As String) As String
Quote = Chr(34) & Text & Chr(34)
End Function
Kết quả:
Bạn cần đăng nhập để thấy hình ảnh
Để tìm hiểu thêm về việc sử dụng các thuộc tính MAPI, truy vấn DASL và truy vấn Jet trong việc tìm kiếm, lọc item trong Outlook, bạn có thể đọc bài viết sau đây của Microsoft:
Bạn cần đăng nhập để thấy link