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.
"sd" <dshubhangi@gmail.com> wrote in message
news:855fdedb-17d8-4342-83f6-8d219fe67228@g16g2000pri.googlegroups.com...
> 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