Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi outlook adressbuch anzeigen um e-mail adresse auszuwählen (https://www.delphipraxis.net/47181-outlook-adressbuch-anzeigen-um-e-mail-adresse-auszuwaehlen.html)

Susanne 7. Jun 2005 14:07


outlook adressbuch anzeigen um e-mail adresse auszuwählen
 
Hallo,

ich möchte aus meinem Programm eine Mail verschicken und wenn ich in meinem Programm z.B. auf den Button An klicke, soll mir das Outlook AdressBuch angezeigt werde, um so die e-Mail adresse auswählen zu können.

Aber wie um alles in der Welt mache ich? Ich nehme mal an, dass ich so anfange, aber wie geht es dann weiter?

Delphi-Quellcode:
outlook := CreateOleObject('Outlook.Application');
NameSpace := outlook.GetNameSpace('MAPI');

rocksoft 7. Jun 2005 22:00

Re: outlook adressbuch anzeigen um e-mail adresse auszuwähle
 
Hallo Susane,

ich hoffe das hilft dir weiter

quelle Autor: Mike Shkolnik

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  Kontaktordner = $0000000A;
var
  outlook, Name, Kontakte, Kontakt: OleVariant;
  i : Integer;
  l : TListItem;
begin
  outlook := CreateOleObject('Outlook.Application');
  Name := outlook.GetNameSpace('MAPI');
  Kontakte := Name.GetDefaultFolder(Kontaktordner);
  for i := 1 to Kontakte.Items.Count do
  begin
    Kontakt := Kontakte.Items.Item(i);
    l := LV.Items.Add;
    l.Caption := Kontakt.FullName;
    l.Subitems.Add(Kontakt.Email1Address);
    l.Subitems.Add(Kontakt.Email1AddressType);
  end;
  Outlook := UnAssigned;
end;

Susanne 8. Jun 2005 08:22

Re: outlook adressbuch anzeigen um e-mail adresse auszuwähle
 
ok, das klappt dann mittlerweile. Nächste Problem ist nun, dass er nicht auf meine Kontakte zugreifen muss, sondern auf die von Exchange.

Hat dafür auch noch jemand eine Idee?

Auf Exchange und das Adressbuch kann ich mittlerweile zugreifen, aber ich bekomme nur den Namen, wie komme ich da noch an die email-adresse?


Delphi-Quellcode:
outlook := CreateOleObject('Outlook.Application');
AddrBu:=Outlook.GetNamespace('MAPI').AddressLists.Item(adressbuch).AddressEntries;
  For i := 1 to AddrBu.Count Do
    Begin
      AddrEntry:=AddrBu.Item(i);
      ShowMessage(addrEntry.Name+', ' );
    end;
Outlook := UnAssigned;

/*edit*/
ok, so bekomme ich zwar nur den Namen, aber das versenden mit dem Namen funktioniert trotzdem

KevSoldier5 17. Apr 2014 11:35

AW: outlook adressbuch anzeigen um e-mail adresse auszuwählen
 
Habe das selbe Problem !

Hat jemand eine Idee ?

baumina 17. Apr 2014 11:57

AW: outlook adressbuch anzeigen um e-mail adresse auszuwählen
 
Wie weit bist du schon gekommen? Wo klemmts genau? Du kannst auch gerne ein Stück deines Quellcodes posten, dann können wir sicher besser helfen.

KevSoldier5 17. Apr 2014 12:40

AW: outlook adressbuch anzeigen um e-mail adresse auszuwählen
 
procedure TForm1.bGetEmailClick(Sender: TObject);
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);
cbAdressen.Items.Add(Contact.FirstName + ' ; ' + Contact.Email1Address);
end;
outlook := UnAssigned;
end;


Bekomme die Vornamen von den Kontakten welche local sind und welche am Exchange Server sind.
Jedoch erhalte ich die E-Mail Adressen nur von den lokalen. Bei denen vom Exchange Server ist das E-Mail Feld immer leer.

Habe es auch schon mit "Contact.EmailDisplayName" versucht, jedoch ohne Erfolg...

baumina 17. Apr 2014 13:01

AW: outlook adressbuch anzeigen um e-mail adresse auszuwählen
 
Hier sind die Felder beschrieben, evtl. befindet sich die Mailadresse in einem anderen Feld.
http://msdn.microsoft.com/en-us/libr...roperties.aspx


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 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