This Microsoft Visual Basic/Visual Basic for Applications example locates every distribution list item in the default Contacts folder and then determines if the current user is a member of the list. If that is the case, the current user is removed from the distribution list.
Dim myOlApp As New Outlook.Application
Dim myNameSpace As Outlook.NameSpace
Dim myFolder As Outlook.MAPIFolder
Dim myDistList As Outlook.DistListItem
Dim tmpRecips As Outlook.Recipients
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set tmpRecips = myOlApp.CreateItem(olMailItem).Recipients
tmpRecips.Add myNameSpace.CurrentUser.Name
Set myFolder = myNameSpace.GetDefaultFolder(olFolderContacts)
For x = 1 To myFolder.Items.Count
If TypeName(myFolder.Items.Item(x)) = _
"DistListItem" Then
Set myDistList = myFolder.Items.Item(x)
For y = 1 To myDistList.MemberCount
If myDistList.GetMember(y).Name = _
myNameSpace.CurrentUser.Name Then
myDistList.RemoveMembers tmpRecips
myDistList.Save
Exit For
End If
Next y
End If
Next x
If you use VBScript, you do not create the Application object, and you cannot use named constants. This example shows how to perform the same task using VBScript.
Set myNameSpace = Application.GetNamespace("MAPI")
Set tmpRecips = Application.CreateItem(olMailItem).Recipients
tmpRecips.Add myNameSpace.CurrentUser.Name
Set myFolder = myNameSpace.GetDefaultFolder(10)
For x = 1 To myFolder.Items.Count
If TypeName(myFolder.Items.Item(x)) = _
"DistListItem" Then
Set myDistList = myFolder.Items.Item(x)
For y = 1 To myDistList.MemberCount
If myDistList.GetMember(y).Name = _
myNameSpace.CurrentUser.Name Then
myDistList.RemoveMembers tmpRecips
myDistList.Save
Exit For
End If
Next
End If
Next