AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Outlook: Prüfen, ob Kontakt Mailadresse hat
Thema durchsuchen
Ansicht
Themen-Optionen

Outlook: Prüfen, ob Kontakt Mailadresse hat

Ein Thema von FBrust · begonnen am 22. Feb 2007 · letzter Beitrag vom 22. Feb 2007
Antwort Antwort
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#1

Outlook: Prüfen, ob Kontakt Mailadresse hat

  Alt 22. Feb 2007, 15:24
Hallo,

ich möchte in meinem Programm die Kontakte (Namen und Mailadressen) aus Outlook auslesen und in einem Grid darstellen.

Allerdings möchte ich nur die Kontakte darstellen, die eine Mailadresse haben. Wenn ich allerdings mit

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

    Contacts := NameSpace.GetDefaultFolder(olFolderContacts);
    for i := 1 to Contacts.Items.Count do begin
      if Contact.Email1Address = 'then
        showmessage('keine Adresse');
....
prüfe, erhalte ich die Meldung "Ungültige Variant-Operation" bei "if Contact.Email1Adress = ''". Die Prüfung auf Length = 0 bringt den gleichen Fehler..

Wie kann ich denn feststellen, ob im Feld "Email1Adress" von Outlook etwas eingetragen ist?


Gruß
Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#2

Re: Outlook: Prüfen, ob Kontakt Mailadresse hat

  Alt 22. Feb 2007, 16:28
In deinem Code taucht auf einmal "Contact" auf.

Hast du das gesetzt?

Contact := Contacts.Items[i]; Der zweite Punkte ist, dass Outlook dir in dem Array der Kontakte nicht nur einzelne Kontakte, sondern auch Gruppen von Kontakten zurückgibt.
Dieses Objekt hat dieEigenschaft "Email1Address" nicht.
Du musst zuerst prüfen, ob das Objekt, was du zurück bekommen hast auch wirklich ein Kontakt ist.

Delphi-Quellcode:
const
// Folders
  olFolderContacts = 10;

// Classes
  olContact = 40;
  olDistributionList = 69;

procedure TForm1.Button1Click(Sender: TObject);
var
  Outlook, NameSpace, Contacts, Contact: OleVariant;
  i, c: Integer;
  s, ItemClass: String;
begin
  Outlook := CreateOleObject('Outlook.Application');
  try
    NameSpace := outlook.GetNameSpace('MAPI');
    try
      Contacts := NameSpace.GetDefaultFolder(olFolderContacts);
      try
        c := Contacts.Items.Count;
        for i := 1 to c do
        begin
          ItemClass := Contacts.Items[i].Class;

          if (StrToIntDef(ItemClass, -1) = olContact) then
          begin
            Contact := Contacts.Items[i];
            s := Contact.Email1Address;

// dein Code *******************************************************************
           if (Length(s) = 0) then
              ShowMessage('Keine Adresse!');

//******************************************************************************
          end;
        end;
      finally
        Contacts := Unassigned;
      end;
    finally
      NameSpace := Unassigned;
    end;
  finally
    Outlook := Unassigned;
  end;
end;
- edit -

olDistributionList/69 ist eine Gruppe von Benutzern.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Outlook: Prüfen, ob Kontakt Mailadresse hat

  Alt 22. Feb 2007, 16:32
Hallo Stefan,

danke für Deine Antwort.

Ja, "contacts" hab ich gesetzt, aber das mit den Gruppen war mir neu, werds mal ausprobieren.


Gruß
Frank

Nachtrag: Hat super funktioniert, danke!
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  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 05:05 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