get contactitem from addressentry

  • Thread starter Thread starter sd
  • Start date Start date
S

sd

hello
I need to display AddressBook for OL 2003 ,OL 2007 & let the user
select the entries listed in addressbook.From the
selected entry I need to retrive the contactItem & retrieve its
properties(ENtryID,Phone numbers etc.)
I'm using below code -
Dim objMAPIUtils As Redemption.MAPIUtils 'Object
Dim objRecipients As Redemption.SafeRecipients
Dim objRecipient As Redemption.SafeRecipient
Dim ObjContact As Outlook.ContactItem
objMAPIUtils = CreateObject("Redemption.MAPIUtils")
objRecipients = objMAPIUtils.AddressBook(, "Address Book",
False, False, 1, "&To", "&Cc", "&Bcc")
If objRecipients.Count > 0 Then
For Each objRecipient In objRecipients
' get contactitem from ObjRecepient & retrieve its
EntryID
Next
If Not objRecipients Is Nothing Then objRecipients = Nothing
If Not objMAPIUtils Is Nothing Then objMAPIUtils = Nothing
How to get the contactitem & retrive its EntryID.For OL 2007 I can get
contact in OL 2007 by addentry.GetContact
But for OL2003 I'm not able to get contactitem.
Thanks
-sd
 
You can use Redemption to do what you want in a way that won't depend on
using the Outlook 2007 object model.

Use RDOSession and get session.AddressBook.ShowAddressBook() to get back an
RDORecipients collection. Iterate that collection and for each RDORecipient
use its AddressEntry.GetContact() method to retrieve the contact as an
RDOContactItem. You can use the RDOContactItem then or get its EntryID if
you want to retrieve the corresponding Outlook.ContactItem.
 
Do not use MAPIUtils for that (this is an old obejct used for compatibility
purposes).
Use RDOSession, and RDOSession.AddressBook.ShowAddressBook in particular. to
display the address book dialog.
You can then retrieve the contact using RDOAddressEntry.GetContact (get back
RDOContactItem object).

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
 
Back
Top