Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1640to1644
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

Daten aus Outlook lesen

Daten aus Outlook lesen
03.09.2018 16:23:59
Ludwig
Hallo Experten
Mit folgenden (kopierten) Zeilen möchte ich Adressen aus Outlook einlesen.
Sub Kontakte()
Dim olAppl As Outlook.Application
Dim olNS As Outlook.Namespace
Dim olMAPIFolder As Outlook.MAPIFolder
Dim olItems As Outlook.Items
Dim olResItems As Outlook.Items
Dim olContact As Outlook.ContactItem
Dim intCounter As Integer
Dim sFilter As String
On Error GoTo byebye
Set olAppl = CreateObject("Outlook.Application")
Set olNS = olAppl.GetNamespace("MAPI")
Set olMAPIFolder = olNS.GetDefaultFolder(olFolderContacts)
Set olItems = olMAPIFolder.Items
sFilter = "[MessageClass] = 'IPM.Contact'"
Set olResItems = olItems.Restrict(sFilter)
Dim a As Variant
Set a = olContact
For Each olContact In olResItems
intCounter = intCounter + 1
Cells(intCounter, 3) = olContact.Birthday
Cells(intCounter, 4) = olContact.FirstName
Cells(intCounter, 5) = olContact.LastName
Cells(intCounter, 6) = olContact.Email1Address
Next olContact
byebye:
Set olResItems = Nothing
Set olItems = Nothing
Set olMAPIFolder = Nothing
Set olNS = Nothing
Set olAppl = Nothing
Exit Sub
End Sub
Weiß Jemand aus welcher Datei diese eingelesen werden? Jedenfalls nicht aus den aktuellen Kontakten.
Vielen Dank für eine Antwort im Vorraus.
MfG
Ludwig

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Adressen
03.09.2018 17:55:46
Fennek
Hallo,
versuche diesen Code:

Sub Out_Contacts()
'Contacts: 10
With CreateObject("Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(10)
For Each it In .items
i = i + 1
Cells(i, 1) = it.lastName
Cells(i, 2) = it.firstname
Cells(i, 3) = it.email1address
Next it
End With
End Sub
mfg
AW: Adressen
03.09.2018 22:34:42
Ludwig
Hallo Fennek
Dim it As Outlook.Items
Dim i As Integer
Die for each-Schleife läft nicht. Hast du eine Idee?
mfg
Ludwig
AW: Adressen
03.09.2018 22:57:07
Ludwig
Hallo Fennek
Der richtige Ordner wird jetzt angezapft.
Mit
Dim it As Outlook.ContactItem
läuft die Schleife nicht durch (it Typenunverträglichkeit).
Hast du eine Idee?
mfg
Ludwig
Anzeige
AW: Fehler am Ende
04.09.2018 11:14:57
Fennek
Hallo,
beim Testen lief der Code über alle Kontakte, aber am Ende gab es eine Fehlermeldung.
Nach Prüfung auf Vollständigkeit würde ich ein "on error goto " einbauen.
mfg
AW: Adressen
04.09.2018 11:41:08
Ludwig
Hallo Experten
Hiermit geht's:
Sub AdressenVonOutlook()
Dim workingFolder As Object
Dim i As Integer
Dim olMAPI As New Outlook.Application
Dim objItem As Outlook.ContactItem
On Error Resume Next
Range("A2").Select
Set workingFolder = olMAPI.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
For i = 1 To workingFolder.Items.Count
Set objItem = workingFolder.Items(i)
With objItem
ActiveCell.Value = .FirstName
ActiveCell.Offset(0, 1).Value = .LastName
End With
ActiveCell.Offset(1, 0).Select
Next i
Set objItem = Nothing
Set olMAPI = Nothing
End Sub

Gruß
Ludwig
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige