Tra cứu thuộc tính MAPI của Outlook

Nguyễn Đăng

Yêu THVBA
Trong quá trình lập trình trong Outlook, việc sử dụng thuộc tính MAPI để thực hiện các công việc tìm kiếm, lọc và tạo item, thay đổi cài đặt của Outlook là điều rất quan trọng. Cho nên mình xin gửi đến mọi người một biểu mẫu nho nhỏ giúp tra cứu các thuộc tính MAPI của Outlook, những thông tin này được cào về từ Microsoft Learn và lưu vào cơ sở dữ liệu Microsoft Access.
Bạn cần đăng nhập để thấy hình ảnh


Đính kèm:
 

tuhocvba

Administrator
Thành viên BQT
Xin tác giả hãy demo một số ví dụ cụ thể hơn, dễ hiểu hơn ạ.
 

Nguyễn Đăng

Yêu THVBA
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-com:eek:ffice:eek:ffice# tương ứng với tính năng category của mail. Tên đầy đủ của nó là: urn:schemas-microsoft-com:eek:ffice:eek:ffice#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:
 
Top