![]() |
Auslesen von Outlook-Kontakten (Outlook 2010)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo liebe DP-Mitglieder,
in meinem Programm verwende ich die folgende Prozedur von den Schweizern ( ![]()
Delphi-Quellcode:
Nun ist es so, dass ich in meinen Outlook-Kontakten zunächst den Ordner "Meine Kontakte" vorfinde, unter dem sich die Kontakte "Kontakte", "Vorgeschlagene Kontakte" und "Xing" befinden, also drei verschiedene Kontakt-Kategorien (zur Verdeutlichung habe ich die Struktur im "jpg"-Format an dieses Thema angehängt). Wenn ich die oben genannte Prozedur verwende, werden nur die Kontakte aus "Kontakte", also der ersten Kategorie ausgelesen.
procedure TForm1.Button1Click(Sender: TObject);
const olFolderContacts = $0000000A; var outlook, NameSpace, Contacts, Contact: OleVariant; i: Integer; begin outlook := CreateOleObject('Outlook.Application'); NameSpace := outlook.GetNameSpace('MAPI'); Contacts := NameSpace.GetDefaultFolder(olFolderContacts); for i := 1 to Contacts.Items.Count do begin Contact := Contacts.Items.Item(i); {now you can read any property of contact. For example, full name and email address} ShowMessage(Contact.FullName + ' <' + Contact.Email1Address + '>'); end; Outlook := UnAssigned; end; Wie kann ich die Prozedur abändern, dass die Kontakte aus "Kontakte", "Vorgeschlagene Kontakte" und "Xing" ausgelesen werden? Schon einmal vielen Dank im Voraus und Grüße, Bolt Thrower |
AW: Auslesen von Outlook-Kontakten (Outlook 2010)
Wenn ich es richtig verstanden habe rufst Du auch nur den KonatkteOrdner in Deinen Kontakten ab (
![]() ![]() Edit: Ungetestet könnte eventuell das hier funktionieren :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject); const olFolderContacts = $0000000A; var outlook, NameSpace, Contacts, ContactFolder, Contact: OleVariant; i: Integer; begin outlook := CreateOleObject('Outlook.Application'); NameSpace := outlook.GetNameSpace('MAPI'); Contacts := NameSpace.GetDefaultFolder(olFolderContacts); ContactFolder := Contacts.Folder.GetFirst; for i := 1 to Contacts.Items.Count do begin Contact := Contacts.Items.Item(i); {now you can read any property of contact. For example, full name and email address} ShowMessage(Contact.FullName + ' <' + Contact.Email1Address + '>'); end; Outlook := UnAssigned; end; |
AW: Auslesen von Outlook-Kontakten (Outlook 2010)
Hallo Rolf,
vielen Dank für den Link und die von Dir angegebene Prozedur. Leider tritt bei diesem Aufruf
Delphi-Quellcode:
die Fehlermeldung "Die Methode 'Folder' wird vom Automatisierungsobjekt nicht unterstützt" auf. Wenn ich diese Zeile nun auskommentiere, läuft die Prozedur zwar durch, listet mir aber wieder nur die Kontakte aus "Kontakte" auf, nicht die aus "Vorgeschlagene Kontakte" und "Xing".
ContactFolder := Contacts.Folder.GetFirst;
Wenn ich das richtig verstanden habe, handelt es sich hierbei um drei Adressbücher, muss ich die vielleicht anders auslesen? Grüße, Bolt Thrower |
AW: Auslesen von Outlook-Kontakten (Outlook 2010)
Es müsste glaub ich Folders heißen, wie z.B. hier:
ContactFolder = Namespace.Folders.item("Öffentliche Ordner").Folders.item("Alle Öffentlichen Ordner") |
AW: Auslesen von Outlook-Kontakten (Outlook 2010)
Hallo Jumpy,
danke für Deinen Hinweis, "Folders" war tatsächlich korrekt, leider werden die Kontakte aus "Vorgeschlagene Kontakte" und "Xing" dennoch nicht aufgelistet. Grüße, Bolt Thrower |
AW: Auslesen von Outlook-Kontakten (Outlook 2010)
Sprichst du sie denn auch nacheinander an?
Delphi-Quellcode:
ContactFolder := Namespace.Folders.item("Meine Kontakte").Folders.item("Kontakte")
for i := 1 to ContactFolder.Items.Count do begin Contact := ContactFolder.Items.Item(i); ShowMessage(Contact.FullName + ' <' + Contact.Email1Address + '>'); end; ContactFolder := Namespace.Folders.item("Meine Kontakte").Folders.item("Vorgeschlagene Kontakte") for i := 1 to ContactFolder.Items.Count do begin Contact := ContactFolder.Items.Item(i); ShowMessage(Contact.FullName + ' <' + Contact.Email1Address + '>'); end; //usw. |
AW: Auslesen von Outlook-Kontakten (Outlook 2010)
ich hatte unter
![]() mal einen Source hochgelegt, vielleicht kannst Du damit etwas anfangen? |
AW: Auslesen von Outlook-Kontakten (Outlook 2010)
Danke für den Sourcecode, Bummi, ich kann mir vorstellen, dass er genau das ist, was ich brauche. Werde ich auf jeden Fall testen.
Grüße, Bolt Thrower |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz