ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Getting Names fron Outlook (https://www.excelbanter.com/excel-programming/407875-getting-names-fron-outlook.html)

Office_Novice

Getting Names fron Outlook
 
This Works great if I want everything. However I only want the names in a
specific Distribution List. Is there a way to break this down to that level?

Option Explicit

Public Sub DisplayOutlookContactNames()
Dim Outlook As Outlook.Application
Dim NameSpace As Outlook.NameSpace
Dim AddressList As AddressList
Dim Entry As AddressEntry
Dim I As Long

On Error GoTo Finally

Set Outlook = New Outlook.Application
Set NameSpace = Outlook.GetNamespace("MAPI")
Set AddressList = NameSpace.AddressLists("All Contacts")
For Each Entry In AddressList.AddressEntries
I = I + 1
Cells(I, 1).Value = Entry.Name
Next

Finally:
Outlook.Quit
Set Outlook = Nothing
End Sub


Dick Kusleika[_4_]

Getting Names fron Outlook
 
On Tue, 18 Mar 2008 06:26:02 -0700, Office_Novice
wrote:

This Works great if I want everything. However I only want the names in a
specific Distribution List. Is there a way to break this down to that level?

Option Explicit

Public Sub DisplayOutlookContactNames()
Dim Outlook As Outlook.Application
Dim NameSpace As Outlook.NameSpace
Dim AddressList As AddressList
Dim Entry As AddressEntry
Dim I As Long

On Error GoTo Finally

Set Outlook = New Outlook.Application
Set NameSpace = Outlook.GetNamespace("MAPI")
Set AddressList = NameSpace.AddressLists("All Contacts")
For Each Entry In AddressList.AddressEntries
I = I + 1
Cells(I, 1).Value = Entry.Name
Next

Finally:
Outlook.Quit
Set Outlook = Nothing
End Sub


Try this

Sub getdlist()

Dim ol As Outlook.Application
Dim ns As Outlook.Namespace
Dim al As Outlook.AddressList
Dim ae As Outlook.AddressEntry
Dim dle As Outlook.AddressEntry

Set ol = New Outlook.Application
Set ns = ol.GetNamespace("MAPI")
Set al = ns.AddressLists("Contacts")

For Each ae In al.AddressEntries
If ae.Type = "MAPIPDL" Then
For Each dle In ae.Members
Debug.Print dle.Name & " is in " & ae.Name
Next dle
End If
Next ae

Set al = Nothing
Set dle = Nothing
Set ae = Nothing
Set ns = Nothing
Set ol = Nothing

End Sub
--
Dick Kusleika
Microsoft MVP-Excel
http://www.dailydoseofexcel.com


All times are GMT +1. The time now is 03:15 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com