AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Auslesen von Outlook-Kontakten (Outlook 2010)
Thema durchsuchen
Ansicht
Themen-Optionen

Auslesen von Outlook-Kontakten (Outlook 2010)

Ein Thema von Bolt Thrower · begonnen am 16. Jul 2012 · letzter Beitrag vom 18. Jul 2012
Antwort Antwort
Bolt Thrower

Registriert seit: 2. Sep 2004
Ort: Starnberg
21 Beiträge
 
#1

Auslesen von Outlook-Kontakten (Outlook 2010)

  Alt 16. Jul 2012, 07:34
Hallo liebe DP-Mitglieder,

in meinem Programm verwende ich die folgende Prozedur von den Schweizern (http://www.swissdelphicenter.ch/de/showcode.php?id=897), um meine Outlook-Kontakte auszulesen:

Delphi-Quellcode:
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;
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.

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
Miniaturansicht angehängter Grafiken
kontakte.jpg  
In Kamerun gibt's heit Gratismoscht!
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

AW: Auslesen von Outlook-Kontakten (Outlook 2010)

  Alt 16. Jul 2012, 07:43
Wenn ich es richtig verstanden habe rufst Du auch nur den KonatkteOrdner in Deinen Kontakten ab (Bei Google suchenolFolderContacts). Ich habe diese Seite gefunden, vielleicht hilft Dir die ja weiter.

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;
Rolf Warnecke
App4Mission

Geändert von RWarnecke (16. Jul 2012 um 08:08 Uhr)
  Mit Zitat antworten Zitat
Bolt Thrower

Registriert seit: 2. Sep 2004
Ort: Starnberg
21 Beiträge
 
#3

AW: Auslesen von Outlook-Kontakten (Outlook 2010)

  Alt 16. Jul 2012, 08:45
Hallo Rolf,

vielen Dank für den Link und die von Dir angegebene Prozedur.

Leider tritt bei diesem Aufruf ContactFolder := Contacts.Folder.GetFirst; 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".

Wenn ich das richtig verstanden habe, handelt es sich hierbei um drei Adressbücher, muss ich die vielleicht anders auslesen?

Grüße,

Bolt Thrower
In Kamerun gibt's heit Gratismoscht!
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Auslesen von Outlook-Kontakten (Outlook 2010)

  Alt 16. Jul 2012, 11:00
Es müsste glaub ich Folders heißen, wie z.B. hier:

ContactFolder = Namespace.Folders.item("Öffentliche Ordner").Folders.item("Alle Öffentlichen Ordner")
Ralph
  Mit Zitat antworten Zitat
Bolt Thrower

Registriert seit: 2. Sep 2004
Ort: Starnberg
21 Beiträge
 
#5

AW: Auslesen von Outlook-Kontakten (Outlook 2010)

  Alt 17. Jul 2012, 10:21
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
In Kamerun gibt's heit Gratismoscht!
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: Auslesen von Outlook-Kontakten (Outlook 2010)

  Alt 17. Jul 2012, 10:34
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.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Auslesen von Outlook-Kontakten (Outlook 2010)

  Alt 17. Jul 2012, 10:39
ich hatte unter http://www.delphipraxis.net/167694-e...-kontakte.html
mal einen Source hochgelegt, vielleicht kannst Du damit etwas anfangen?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Bolt Thrower

Registriert seit: 2. Sep 2004
Ort: Starnberg
21 Beiträge
 
#8

AW: Auslesen von Outlook-Kontakten (Outlook 2010)

  Alt 18. Jul 2012, 09:40
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
In Kamerun gibt's heit Gratismoscht!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz