ActiveInspector Recipient's members (Distribution List) not accessible via Word VBA - Redemption

N

n777krish

Hello all,

I am trying to get the Recipient (Distribution List) from an
ActiveInspector. The code that I am using is below. I am trying to
retrieve the recipient from MS Word VBA. If I put the same code in
Outlook VBA I am able to access the Members of the distribution list.
Now what gets interesting is when I put the code in Word VBA and get a
reference to ActiveInspector.CurrentItem into a SafeMailItem, for some
reason the Recipient's -> AddressEntry -> Members no longer seem to
be available.

I need to access the distribution list from the recipient of the
ActiveInspector from Word. What am I doing wrong? Is redemption loosing
the recipient properties for some reason?

Even for a normal recipient I am not able to access the PR_DISPLAY_NAME
and PR_SURNAME fields for the address entries when I try to access
these from Word VBA.

I am not able to access the AddressEntry.members.count or any other
properties of AddressEntry.

I would appreciate the help.

Thanks,
neil goundar

********************************************************************************************************

Public Sub GetRecipientName()
Dim oMail As Outlook.MailItem

Dim sfeMail 'As Redemption.SafeMailItem

Dim intType As Integer

Dim golapp As Outlook.Application
Dim rec

Dim aEntry, myAddressEntry

Set golapp = CreateObject("Outlook.Application", "localhost")

Set oMail = golapp.ActiveInspector.CurrentItem

Set sfeMail = CreateObject("sndRedemption.sndSafeMailItem")

Set sfeMail.Item = oMail

sfeMail.Save

Set rec = sfeMail.Recipients(1)

Debug.Print rec.Name
Debug.Print rec.DisplayType

Set aEntry = rec.AddressEntry

For i = 1 To aEntry.Members.Count
Set myAddressEntry = aEntry.Members()
Debug.Print myAddressEntry.Name
Next i
End Sub
 
D

Dmitry Streblechenko

Looks like you forgot to include the index when looping through the Members
collection:
change
Set myAddressEntry = aEntry.Members()
to
Set myAddressEntry = aEntry.Members(i)

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

n777krish

Dear Dmitry,

I have included the index, in the code already. I pasted some codes
that I was testing and have missed the index in that. Sorry for that,
it was my mistake.

The problem is this:
I cant even access "aEntry.Members.Count" property. I dont even go into
the Loop.

Is there any reason why the value will not be available from Word VBA?

I really appreciate your help.

regards,
neil.
 
D

Dmitry Streblechenko

That most likely means that Redemption cannot find an existing MAPI session
or log to the default profile
Try to add the following code before you access Members:

set Utils = CreateObject("Redemption.MAPIUtils")
Utils.MAPIOBJECT = golapp.Session.MAPIOBJECT

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

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top