Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1204to1208
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Listbox flackert beim einlesen...
kle
...kann man das irgendwie ausblenden?
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
screenupdating vielleicht?
23.03.2011 14:04:45
Klaus
Hi,
vielleicht hilft schon ein
application.screenupdating = false
am Anfang des Codes?
Grüße,
Klaus M.vdT.
AW: screenupdating leider nicht ;o(
23.03.2011 14:10:26
kle
Leider nicht...war auch mein erster Gedanke.
irgendwelche Listbox-Events?
23.03.2011 14:36:59
Rudi
Hallo,
außerdem würde ich erst alle Items in ein Array einlesen und dann der LB zuweisen.
Private Sub BOuteinlesen_Click()
Dim objnSpace As Object
Dim lngFontColor As Long
Dim objItems As Object
Dim i As Integer
Dim arrList()
Set objnSpace = objOutlook.GetNamespace("Mapi")
Set objFolder = objnSpace.PickFolder ''' Dialog
With LBKontakte
.Clear
.ColumnCount = 7
.ColumnHeads = False
.ColumnWidths = "0,7cm;1,6cm;2cm;3cm;5cm;1,5cm;2cm"
If Not objFolder Is Nothing Then
ReDim arrList(1 To objItems.items.Count, 1 To 7)
BOuteinlesen.Caption = "Ordner: " & objFolder.Name
For i = 1 To objFolder.items.Count
LInfo.Caption = i & " von " & objFolder.items.Count
Set objItems = objFolder.items(i)
With objItems
arrList(i, 1) = i
arrList(i, 2) = .Title
arrList(i, 3) = .FirstName
arrList(i, 4) = .LastName
arrList(i, 5) = .CompanyName
arrList(i, 6) = .BusinessAddressPostalCode
arrList(i, 7) = .BusinessAddressCity
End With
Next i
Set objItems = Nothing
BOuteinlesen.Caption = "Ordner: " & objFolder.Name
LBKontakte.List = arrList
Else
BOuteinlesen.Caption = "Outlook Ordner wählen"
End If
End With
On Error Resume Next
LOrdner.Caption = "Ordner: " & objFolder.Name
Me.Repaint
End Sub

Gruß
Rudi
Anzeige
AW: Nein, aber mit Deinem Code...
23.03.2011 15:40:30
kle
...klappt es. Denke das Einlesen der einzelnen Daten hat es "blinken" lassen.
Hinweis: Musste nur die Zeile
ReDim arrList(1 To objItems.items.Count, 1 To 7)
ändern in:
ReDim arrList(1 To objFolders.items.Count, 1 To 7)
Dann lief es ohne Probleme!
Vielen Dank!
Gruß
Kay

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige