View Single Post
  #2  
Old March 5th 10, 02:10 PM posted to microsoft.public.outlook.program_vba
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default Outlook Distribution List contents

I'm not sure what you're asking. If you double-click on a member of a DL
when the DL is opened that should open the contact representing that DL
member. You do need to double-click to open the contact.

When you have the contact from your list you need to create a Recipient
object to add to the DL. You can either use the NameSpace.CreateRecipient()
method to do that or you can create a dummy email and add the contact
information to that to create the recipient object by using
dummyEmail.Recipients.Add().
Once you have your recipient from the contact you use that to add a new DL
member.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"scottb2" scottb2.47bklm@invalid wrote in message
news:scottb2.47bklm@invalid...

I have a folder hierarchy of

Public folders
..All Public Folders
.....Dept
........Distribution List

Distribution List has a DefaultItemType of "olContactItem" and a
DefaultMessageClass of "IPM.Contact".

I have scanned the folder chain and have a Folder object for
"Distribution List" if that helps.

I wish to take a list of Contacts and create a distribution list in
"Distribution List", of course :-) I understand that a DL contains only
a name and email address but my requirement is that the user be able to
see all of the contact information when clicking on a DL member.

Any help to accomplish this is appreciated. My attempt is at the end
of this message.

Thanks,
Scott


Code:
--------------------
Outlook.DistListItem oDL;
Outlook.MailItem tempItem;
Outlook.Recipients oRecipients;
bool resolveRet;

oDL = oApp.CreateItem(Outlook.OlItemType.olDistributionL istItem)
as Outlook.DistListItem;

tempItem = oApp.CreateItem(Outlook.OlItemType.olMailItem) as
Outlook.MailItem;
oRecipients = tempItem.Recipients;
oDL.DLName = "Associate Email Distribution List";
foreach (Outlook.ContactItem oContact in contactList)
{
oRecipients.Add(oContact.Email1Address);
}
resolveRet = oRecipients.ResolveAll();
oDL.AddMembers(oRecipients);
oDL.Save();
--------------------


--
scottb2
http://forums.slipstick.com


Ads