|
RDODistListItem object represents an
"IPM.DistList" message in one of Outlook's contacts folders. RDODistListItem is
derived from the RDOMail object and as such inherits
all the properties, methods and events implemented by the
RDOMail object and adds the following methods and properties
Everywhere
RDOMail object is normally returned (RDOSession.GetMessageFromID, RDOFolder.Items,
etc), RDODistListItem will be returned if the message class is "IPM.DistList".
The example below creates a new
distribution list item in the default Contacts folder and adds a member to it.
set Session =
CreateObject("Redemption.RDOSession")
Session.Logon
set Contacts = Session.GetDefaultFolder(olFolderContacts)
set DL = Contacts.Items.Add("IPM.DistList")
DL.DLName = "Redemption test"
DL.AddMember("test <test@dimastr.com>")
DL.Save |
Properties
Methods
|
|
|
Properties |
|
CheckSum |
integer, internal use only.
CheckSum property represents the checksum unique to the given list of
the DL members. |
|
DLName |
Returns or sets a String
representing the display name of a distribution list. Read/write.
|
see the example at the top of
this page |
MemberCount |
Returns an integer indicating
the number of members in a distribution list. Read-only.
|
|
Members |
Returns an
RDOAddressEntries object
representing the members of the distribution list.
Distribution lists store
members in two collections: Members, which contains the original
entry ids, and OneOffMembers, which contains the one-off
entry ids. One-off entry ids are self contained, i.e. they embed both
the name and address of the address entry. If a member points to a
contact that was deleted, it would be impossible to retrieve the member,
while the one-off entry id will still be valid since it does not depend
on any external MAPI objects.
GetMember method (see
below) checks if the member entry id is still valid. If not, it returns
an RDOAddressEntry object
corresponding to the one-off entry id.
|
set Session =
CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set Contacts = Session.GetDefaultFolder(olFolderContacts)
set DL = Contacts.Items("test dl")
for each Member in DL.Members
Debug.Print Member.Name & ": " & Member.Address
next |
OneOffMembers |
Returns an
RDOAddressEntries object
representing the members of the distribution list.
See comment for the Members
property above. |
|
|
Methods |
|
AddContact(ContactItem,
AddressType) |
Adds a Contact or a
Distribution List as a member of
the distribution list.
ContactItem - an
object representing IPM.Contact or IPM.DistList message, such as
RDOContactItem, RDODistList,
RDOMail, Outlook.MailItem, etc object. The only requirement is that
the object must expose a MAPIOBJECT property which returns an IMessage
Extended MAPI object.
AddressType - one of the rdoAddressType enums that specify which
contact address (Email1, Emal2, Fax1, etc) must be added.
This parameter is ignored if
a Distribution List is being added.
rdoAddressType values:
atEmail1 = 0
atEmail2 = 1
atEmail3 = 2
atBusinessFax = 3
atHomeFax = 4
atOtherFax = 5 |
set Session =
CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set Contacts = Session.GetDefaultFolder(olFolderContacts)
'retrieve an existing
distribution list
set DL = Contacts.Items("test dl")
'retrieve an existing
contact's Email3 address to the DL
set Contact = Contacts.Items("Dmitry Streblechenko")
'add the contact to the distribution list and save it
DL.AddContact(Contact, atEmail3)
DL.Save |
AddMemberEx(Name,
Address, AddressType) |
Allows to add a one-off
address to the distribution list
Name - string, the
name of the member
Address- string, the
address of the member
AddressType- string,
the address type of the member, e.g. "SMTP"
|
DistListItem.AddMemberEx("Dmitry", "test@dimastr.com", "SMTP") |
AddMember(RecipientOrAddressentryOrName) |
Adds a given object as a
member of the distribution list.
RecipientOrAddressentryOrName -
RDORecipient, RDOAddressEntry or a
string representing the new member. If the value is a string, it will be
resolved to an address entry using the standard name resolution.
|
see the example at the top of
this page |
AddMembers(Recipients) |
Adds all of the recipients to
the distribution list.
Recipients -
RDORecipients object, most often
returned by the RDOMail.Recipients
property |
|
Clear
|
Removes all members from the distribution list.
|
|
GetMember(Index) |
Returns an
RDOAddressEntry object representing
the member with the given index. This method checks if the member entry
id is still valid and returns an entry from the Members
collection. If not, it returns an
RDOAddressEntry object corresponding to the one-off entry id from
the OneOffMembers collection. See Members property help
above.
Index - integer, 1
through MemberCount. |
|
RemoveMember(Index) |
Removes the distribution list
member with the given index.
Index - integer, 1
through MemberCount. |
|
RemoveMemberEx(RecipientsAddressEntriesAddresses)
|
Removes the distribution list
member with the given index.
RecipientsAddressEntriesAddresses - can be either
integer (index 1 through Count)
string - ";" separated list of list of names/entry
ids/addresses
array of strings - list of names/entry ids/addresses
object - either RDORecipient,
RDOAddressEntry or
RDOAddressEntries object.
|
|
UpdateMembers(DeleteIfNotFound,
SearchIfNotFound, DisplayPrompts, ParentWindowHandle)
|
Updates the members of the distribution list and returns the number of
modified members. If no members were modified, 0 is returned.
For the changed members, name and address is updated.
Deleted members will be deleted from the distribution list if the
DeleteIfNotFound parameter is true.
If a member cannot be found, and SearchIfNotFound
parameter is true, UpdateMembers will search for a
matching contact (based on the e-mail address) in the parent folder of
the distribution list. If the DL comes from an MSG file, the search will
be performed in the default Contacts folder.
DeleteIfNotFound - Variant, optional. If not specified,
defaults to true.
If true, the members that cannot be opened will be deleted.
SearchIfNotFound - Variant, optional. If not specified,
defaults to true.
If true and a member cannot be found, UpdateMembers
will search for a matching contact (based on the e-mail address) in the
parent folder of the distribution list. If the DL comes from an MSG
file, the search will be performed in the default Contacts folder.
DisplayPrompts - Variant, optional. If not specified,
defaults to true.
If true, UpdateMembers will ask the user if the member
should be removed:
Could not find contact "%s". It may have been deleted or moved from
its original location. Would you like to remove it from the list?
ParentWindowHandle - Variant, optional. If not
specified, defaults to the handle of the foreground window.
The handle of the window to be used as the parent for the prompt (see
DisplayPrompts parameter). An HWND or an Outlook
Explorer or Inspector object can be passed as a parameter.
|
'Open the currently selected distribution list and update its
members
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set DL = Session.GetMessageFromID(Application.ActiveExplorer.Selection(1).EntryID)
If DL.UpdateMembers(true, true, true,
Application.ActiveExplorer) > 0 Then
DL.Save
End If
|
|
|