Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1196to1200
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
Inhaltsverzeichnis

Outlook-Kontakte einlesen - liest nicht alle aus..

Outlook-Kontakte einlesen - liest nicht alle aus..
kle
Hallo,
mit folgendem Code, lese ich in eine Userform Kontakte eines vorher ausgewählten Ordners aus meinem Outlook-Kontakte-Ordner aus. Ansich klappt alles super, aber seit kurzem musste ich und andere User der Funktion, dass nicht! alle Kontakte aus dem Ornder eingelesen werden.
8 von 9 Ordnern klappt es 100%ig und in einem halt nicht. Da sind 1098 Kontakte drin, einlesen tut er nur 1077. Und bei einer Kollegin sind es 345 von 403 Konkten...
Woran kann es liegen und wie kann ich prüfen ?! bzw. ändern ?!
Gibt es eine ähnliche Funktion, um die Kontakte auszulesen - zum Test ?!?
Gruß und vielen dank!
Kay
Code:
' Einlesen der Kontakte in die Listview
Private Sub Lese_Kontakte()
Dim oCon As Object
Dim i As Integer
i = 0
'On Error Resume Next
' alle Kontakte des ausgewählten Kontakt-Ordners
For Each oCon In objFolder.Items
i = i + 1
With oCon
ListView1.ListItems.Add i, , .LastName
ListView1.ListItems(i).SubItems(1) = .FirstName
ListView1.ListItems(i).SubItems(2) = .Title
ListView1.ListItems(i).SubItems(3) = .CompanyName
ListView1.ListItems(i).SubItems(4) = .BusinessAddressPostalCode
ListView1.ListItems(i).SubItems(5) = .BusinessAddressCity
End With
Label3.Caption = ListView1.ListItems.Count
Next oCon
LVColumnWidth ListView1, False  ' Spaltenbreite anpassen
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Auch diese Variante las nicht alle...
29.01.2011 18:38:11
kle
Hallo, nun habe ich einen Code gefunden und diesen für mich angepasst.
Aber auch der liest nicht alle ein.
In einem Kontaktordner sind 1099 Kontakte drin. Einlesen (beide Varianten) jeweils 1077 !
Per Hand einmal 5 Kontakte, welche nicht eingelesen wurden in einen anderen Kontaktordner gepackt und erneut versucht diese einzulesen - geht. D.h. an den Kontakten an sich kann es nicht liegen ?!
Da Namen mit A, B, K, W, Z etc. fehlen, geh ich auch nicht davon aus, dass Excel irgendwann abbricht, da hier und da Kontakte fehlen mit verschiedenen Namen...
Ich versteh es nicht und es ist verdammt ärgerlich !
Brauche dringend EURE Ideen und Anregungen !
Gruß
Kay
Private Sub Kontakte_Lesen()
Dim objnSpace As Object
Dim objFolder As Object
' Outlook initialisieren
Set objOutlook = New Outlook.Application
' Namespace initialisieren
Set objNameSpace = objOutlook.GetNamespace("MAPI")
' Aktueller User in Outlook ermitteln
AktUser = objNameSpace.CurrentUser
' Ordner setzen, in unserem Fall Contacts
'Set objMapiFolder = objNameSpace.GetDefaultFolder(olFolderContacts)
Set objMapiFolder = objNameSpace.PickFolder ''' Dialog
' Items initialisieren
Set objItems = objMapiFolder.Items
' Einträge nach dem Nachnamen sortieren lassen
objItems.Sort "[Lastname]", False
' Alle Items in die das Tabellenblatt 2 diesmal schreiben
' (Zuname & Vorname)
For zaehler = 1 To objItems.Count
Worksheets(2).Cells(zaehler + 1, 1) = objItems(zaehler).LastName
Worksheets(2).Cells(zaehler + 1, 2) = objItems(zaehler).FirstName
Worksheets(2).Cells(zaehler + 1, 3) = objItems(zaehler).CompanyName
' Zähler Status des einlesens anzeigen
Label1.Caption = zaehler & " von " & objItems.Count
Next zaehler
End Sub

Anzeige
AW: Auch diese Variante las nicht alle...
04.02.2011 16:45:44
firmus
Hi Kay,
es "riecht" stark nach Verteilerlisten. In outlook-contacts werden auch Verteilerlisten gespeichert,
(andere object-class) und vielleicht noch weitere object-classes.
Ich filtere die wirklichen Kontakte über folgende Abfrage aus:
For Zeile = 1 To ocountfni1
If oFolder.Items(Zeile).Class = olContact Then
'olcontact = 40
'oldistlist = 69
Set oContact = oFolder.Items(Zeile)
'For Each oContact In oFolder.Items
...
...
Falls Du "on error resume next" gestzt hast, dann merkst Du den auftretenden Class-error nicht.
Der Eintrag wird einfach ignoriert.
Mit "On error goto 0" gesetzt (default) geht VBA beim Verarbeiten eines none-contact-entries in den debug-mode und Du kannst den "fehler" anhand der Daten untersuchen.
Viel Erfolg,
Firmus
Anzeige

26 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige