Outlook Object Model : Using Restrict method to get contacts based on specific categories
Earlier i was working with one of the customer, where he wants to use Outlook Object Model to,
- retrieve the default contact folder items
- restrict on the retrieved items
- get the restricted items and gets its values – Full Name, Categories, FileAs… etc
Here is the way that i tried it – Code Snippet for your reference:
Dim oOutlook As Outlook.Application
Dim oNameSpace As Outlook.NameSpace
Dim oFolder As Outlook.MAPIFolder
Dim oContacts As Outlook.Items
Dim oContact As Outlook.ContactItem
Dim oItems As Outlook.Items
Dim oItem As Outlook.ContactItem
Dim i As Integer
' Connect with Outlook & get the Namespace
Set oOutlook = New Outlook.Application
Set oNameSpace = oOutlook.GetNamespace("MAPI")
' Retrieve the default Contacts Folder
Set oFolder = oNameSpace.GetDefaultFolder(olFolderContacts)
' Retrieve the Items collection
Set oContacts = oFolder.Items
' Create a Restriction on the Items
Set oItems = oContacts.Restrict("[Categories] = 'Friend'")
' Display the number of items that match the restriction
MsgBox "Found: " & oItems.Count
' Process each of the Restricted Items
For Each oItem In oItems
Debug.Print "Full Name : " & oItem.FullName & " Categories: " & oItem.Categories & "File as:" & oItem.FileAs
Next
' Clean it up
Set oItems = Nothing
Set oOutlook = Nothing
Happy Outlook programming!!