Folgenden Code verwende ich, um Outlook-Kontake in einer USerform-Listbox anzuzeigen. Der User kann dann einen auswählen, dessen Daten dann in ein Formular-Blatt übertragen wird.
Aber während des Einlesens flackert die Listbox extrem...kann man das irgendwie unterbinden ?
Gruß und Danke Kay
Der verwendete Code:
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' Outlook-Kontakte Einlesen
Private Sub BOuteinlesen_Click()
Dim objnSpace As Object
Dim lngFontColor As Long
Dim objItems As Object
Dim i As Integer
Set objnSpace = objOutlook.GetNamespace("Mapi")
Set objFolder = objnSpace.PickFolder ''' Dialog
With LBKontakte
.Clear
If Not objFolder Is Nothing Then
BOuteinlesen.Caption = "Ordner: " & objFolder.Name
With LBKontakte
.ColumnCount = 7
.ColumnHeads = False
.ColumnWidths = "0,7cm;1,6cm;2cm;3cm;5cm;1,5cm;2cm"
For i = 1 To objFolder.Items.Count
LInfo.Caption = i & " von " & objFolder.Items.Count
Set objItems = objFolder.Items(i)
With objItems
LBKontakte.AddItem i
LBKontakte.List(LBKontakte.ListCount - 1, 1) = .Title
LBKontakte.List(LBKontakte.ListCount - 1, 2) = .FirstName
LBKontakte.List(LBKontakte.ListCount - 1, 3) = .LastName
LBKontakte.List(LBKontakte.ListCount - 1, 4) = .CompanyName
LBKontakte.List(LBKontakte.ListCount - 1, 5) = . _
BusinessAddressPostalCode
LBKontakte.List(LBKontakte.ListCount - 1, 6) = .BusinessAddressCity
End With
Next i
Set objItems = Nothing
End With
BOuteinlesen.Caption = "Ordner: " & objFolder.Name
Else
BOuteinlesen.Caption = "Outlook Ordner wählen"
End If
End With
On Error Resume Next
LOrdner.Caption = "Ordner: " & objFolder.Name
Me.Repaint
End Sub