Platform SDK: CDO 1.2.1 |
You can work with a distribution list (DL) if you have the appropriate permissions in the address list that contains it. Normally you have the required permissions in your personal address book (PAB), in which you can create and modify a private distribution list (PDL). Permissions for the global address list (GAL) are typically limited to a very few profiles, but users with appropriate permissions can modify it as well.
The following code fragment provides two utility functions: AddDLToAL, which creates a new private distribution list in the address list the caller specifies by name; and AddUserToDL, which adds an address entry to a distribution list specified by the caller.
Public Function AddDLToAL(objAL As MAPI.AddressList, _ strDLName As String) As MAPI.AddressEntry ' Create a new (private) DL in the specified address list Dim colAEs As MAPI.AddressEntries Dim objNewAE As MAPI.AddressEntry On Error GoTo Err_AddDLToAL Set colAEs = objAL.AddressEntries Set objNewAE = colAEs.Add("MAPIPDL", strDLName) objNewAE.Update ' commit changes to persistent storage Set AddDLToAL = objNewAE ' return added PDL (AddressEntry object) Exit Function Err_AddDLToAL: Set AddDLToAL = Nothing ' no object was added to address list Exit Function End Function Public Function AddUserToDL(objDL As MAPI.AddressEntry, _ strAEName As String, _ strAEAddr As String) As Boolean ' Add an address entry to the specified DL Dim objNewAE As MAPI.AddressEntry On Error GoTo Err_AddUserToDL Set objNewAE = objDL.Members.Add("SMTP", strAEName) With objNewAE .Address = strAEAddr .Fields(CdoPR_COMMENT) = "Added by AddUserToDL function" .Fields(CdoPR_COMPANY_NAME) = "Our company" .Fields(CdoPR_DEPARTMENT_NAME) = "Your department" .Fields(CdoPR_MANAGER_NAME) = "Your manager" .Fields(CdoPR_TITLE) = "Dr/Mr/Mrs/Ms/M/Mme/Mlle/Sr/Sra/Herr/Fr" .Fields(CdoPR_GIVEN_NAME) = "Your first name" .Fields(CdoPR_SURNAME) = "Your last name" .Update End With AddUserToDL = True ' successful Exit Function Err_AddUserToDL AddUserToDL = False ' unsuccessful Exit Function End Function