# E-Mail Adressen aus Outlook



## Sinac (25. Oktober 2002)

Hierm, weiß jemand wie man sich die E-Mail Adressen aus dem Outlook Adressbuch zieht? Ihr wisst schon, die ganzen Viren verschicken sich ja auch darüber weiter und die müssen die Adressen ja auch irgendwo her haben, oder?
-> Nein, ich will keinen Virus schreiben, sowas kann auch für andere dinge nützlich sein! =)


----------



## Dario Linsky (25. Oktober 2002)

wenn du outlook installiert hast, kannst du einen verweis auf die objektbibliothek von outlook setzen und dann über eine ole-schnittstelle auf eine outlook-instanz zugreifen.
das könnte etwa so aussehen:

```
Dim i As Integer
Dim app As Outlook.Application
Dim ns As Outlook.NameSpace
Dim lst As Outlook.AddressEntries

Set app = New Outlook.Application
Set ns = app.GetNamespace("MAPI")
Set lst = ns.AddressLists("Kontakte").AddressEntries

For i = 1 To lst.Count
    If lst(i).DisplayType = olPrivateDistList Then
        lstkontakte.AddItem lst(i)
    End If
Next i

Set app = Nothing
Set ns = Nothing
Set lst = Nothing
```


----------



## Sinac (25. Oktober 2002)

Erstma thx für die schnelle Antwort!
Outlook is installiert, das klappt aber trotzdem nicht:
Beim Ausführen kommt folgender Fehler:
_Compiler Error:
User-defined type not defined_
für die Zeile
_Dim app As Outlook.Application_

fällt dir was dazu ein?


----------



## Dario Linsky (25. Oktober 2002)

du musst auch erst einen verweis auf die entsprechende outlook-objektbibliothek setzen.


----------



## Sinac (25. Oktober 2002)

achsoo schon klar...
häää????


----------



## Dario Linsky (25. Oktober 2002)

projekt -> verweise -> ...


----------



## Sinac (27. Oktober 2002)

Nochma danke für die hilfe, hat zwar mit deinem Code
nicht ganz funktioniert, weil wohl erstens mit der
If Bedingung was nicht stimmte und 2. AddItem lst(i)
immer nur die namen und nicht die E-Mail Adressen 
geliefert hat!
Hab dann aber noch n bischen rumgespielt und jetzt gehts!
Hier nochma der Code:


Private Sub Command1_Click()
Dim i As Integer
Dim app As Outlook.Application
Dim ns As Outlook.NameSpace
Dim lst As Outlook.AddressEntries

Set app = New Outlook.Application
Set ns = app.GetNamespace("MAPI")
Set lst = ns.AddressLists("Kontakte").AddressEntries

For i = 1 To lst.Count
        lstkontakte.AddItem lst(i).Address
Next i

Set app = Nothing
Set ns = Nothing
Set lst = Nothing
End Sub


----------



## NeXoN (5. Januar 2005)

Ich hab die Microsoft Outlook 9.0 Lib nicht woher bekomm ich die oder in welchem verzeichnis ist die enthalten 

MFG NeXoN


----------

