Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Einlesen des Outlook-Adressbuches in eine UserForm-ListBox

Gruppe

Outlook

Problem

Wie kann ich das Outlook-Adressbuch in eine UserForm-ListBox einlesen?

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: basMain

Sub DialogAufruf()
   frmOutlook.Show
End Sub

ClassModule: frmOutlook

Private Sub cmdWeiter_Click()
   Unload Me
End Sub

Private Sub UserForm_Initialize()
   Dim oOL As Object
   Dim oAdr As Object
   Dim oEntry As Object
   Dim arr() As String
   Dim iCounter As Integer
   Dim bln As Boolean
   bln = Application.DisplayStatusBar
   Application.DisplayStatusBar = True
   Set oOL = CreateObject("Outlook.Application")
   Set oAdr = oOL.Session.AddressLists("Kontakte")
   For Each oEntry In oAdr.AddressEntries
      If iCounter Mod 10 = 0 Then
         Application.StatusBar = _
            "Lese Adresse Nr. " & iCounter & " ein..."
      End If
      ReDim Preserve arr(1 To 2, iCounter)
      arr(1, iCounter) = oEntry.Name
      arr(2, iCounter) = oEntry.Address
      iCounter = iCounter + 1
   Next oEntry
   lstAdressen.Column = arr
   Set oOL = Nothing
   Application.StatusBar = False
   Application.DisplayStatusBar = bln
End Sub