AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

outlook mail auslesen

Ein Thema von Christophe · begonnen am 9. Okt 2006 · letzter Beitrag vom 10. Okt 2006
Antwort Antwort
Christophe

Registriert seit: 5. Okt 2006
38 Beiträge
 
#1

outlook mail auslesen

  Alt 9. Okt 2006, 10:27
Hallo zusammen

Vor folgendem Problem stehe ich zur zeit. ich will ein mail das im posteingang von outlook ist den Anhang auslesen. dieser Anhang ist ein xls. was bis jetzt problemlos geht ist der zugruff auf den posteingang aber leider nicht auf die einzelnen mails. Der folgende code habe ich mal geschrieben.

Delphi-Quellcode:
Outlook := CoOutlookApplication.Create;

  NmSpace := Outlook.GetNamespace('MAPI');
  NmSpace.Logon('', '', False, False);

  Inbox := NmSpace.GetDefaultFolder(olFolderInbox);
  NewMail := (Inbox.UnreadItemCount > 0);
  if NewMail then
    ShowMessage(Format('Ungelesene Mails in der Inbox: %d', [Inbox.UnreadItemCount]));

  for i := 1 to Inbox.Items.Count do
  begin
    oiItem := Inbox.Items[i];
  end;
das problem ist die zeile in der for schlaufe. dort erhalte ich den fehler "Klasse besitzt keine Standardeigenschaft". Verstehe nicht ganz was ich falsch mache.

Grüsse aus der noch sonnigen schweiz!!
christophe
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: outlook mail auslesen

  Alt 9. Okt 2006, 16:57
Inbox.Items ist ein Objekt, kein Array.
Delphi-Quellcode:
for i := 1 to Inbox.Items.Count do
  begin
    oiItem := Inbox.Items.Item[i];
  end;
Hätte das Objekt eine Standardeigenschaft gesetzt, wäre deine verkürzte Schreibweise zulässig.
Andreas
  Mit Zitat antworten Zitat
Christophe

Registriert seit: 5. Okt 2006
38 Beiträge
 
#3

Re: outlook mail auslesen

  Alt 10. Okt 2006, 06:27
Hallo

Danke für deine Antwort. Aber dies habe ich auch schon Probiert. Wenn ich dies so schreibe erhalte ich den fehler "Nicht genügend wirkliche Parameter". Weis nicht was ich einem Array noch für "wirkliche" Parameter übergeben soll.
Hier mal der ganze Code:

Delphi-Quellcode:
Outlook := CoOutlookApplication.Create;

  NmSpace := Outlook.GetNamespace('MAPI');
  NmSpace.Logon('', '', False, False);

  Inbox := NmSpace.GetDefaultFolder(olFolderInbox);
  NewMail := (Inbox.UnreadItemCount > 0);
  ShowMessage(BoolToStr(NewMail));
  if NewMail then
    ShowMessage(Format('Ungelesene Mails in der Inbox: %d', [Inbox.UnreadItemCount]));

  for i := 0 to Inbox.Items.Count do
  begin
    oiItem := Inbox.Items.Item[i];
  end;
  Mit Zitat antworten Zitat
Delphi-Lover

Registriert seit: 19. Okt 2004
Ort: Amsterdam
30 Beiträge
 
Delphi 2005 Professional
 
#4

Re: outlook mail auslesen

  Alt 10. Okt 2006, 08:30
Hello,

Try to run from index 1 instead of index 0...

Delphi-Quellcode:
Function TMailTrans.GetInboxItemBySender(aSender : String) : Variant;
Var Index : Integer;
    aMailItem : Variant;
Begin
  Result:=NULL;
  For Index := InboxFolder.Items.Count downto 1 do
  begin
    aMailItem:=InboxFolder.Items.Item(Index);
    If aMailItem.sendername=aSender Then Result:=aMailItem;
  end;
End;
Better to run from last item to the first. If you delete in a loop a mailitem then the order of the mailitems will change and ofcourse the count will also change.

Greets,

Delphi-Lover.
Rob
  Mit Zitat antworten Zitat
Christophe

Registriert seit: 5. Okt 2006
38 Beiträge
 
#5

Re: outlook mail auslesen

  Alt 10. Okt 2006, 09:15
Danke an Delphi-Lover

habe den fehler gefunden lag nur an den Klammern. Statt [i] -> (i).
Hier noch mal der ganze funktionierende Code:
Delphi-Quellcode:
  Outlook := CoOutlookApplication.Create;

  NmSpace := Outlook.GetNamespace('MAPI');
  NmSpace.Logon('', '', False, False);

  Inbox := NmSpace.GetDefaultFolder(olFolderInbox);
  NewMail := (Inbox.UnreadItemCount > 0);
  ShowMessage(BoolToStr(NewMail));
  if NewMail then
    ShowMessage(Format('Ungelesene Mails in der Inbox: %d', [Inbox.UnreadItemCount]));

  for i := 1 to Inbox.UnreadItemCount do
  begin
    aMailItem := Inbox.Items.Item(i);
    ShowMessage(aMailItem.To);
  end;
Ich lese die ungelesenen nachrachten aus dem Posteingang aus.

Danke für euer Hilfe
  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 18:28 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