[GELÖST]Outlook Automation: Objekt Problem

23. Juli 2009 09:21

Hallo zusammen,

ich bin gerade in einer richtigen zwickmühle. Ich vresuche das Navision24 Tutorial: "Mit Outlook kommunizieren" nachzubauen allerdings mit den Mailitems statt den Kontakten. Hier der Link zu dem Tutorial was ich abgeändert auf die art nachbauen möchte:
http://www.navision24.de/tutorials/mit- ... ieren.html

So nun zu meinem Problem. Ich möchte alle Items im Ordner gesendet Ablaufen und nach einer bestimmten Mail suchen. In der Zeile "OLMailItem := OLItems.Item(IDX);" weiß ich dem MailItem, dass in der Schleife ablaufende Item zu. Das klappt auch soweit wunderbar. Nur wenn statt einem MailItem z.B. ein MeetingItem oder ein contactItem kommt knallt es mit einer Fehlermeldung. Weil das aktuelle Item kein Mailitem ist. Da liegt jetzt auch ein Problem. Wenn ich nun versuche OLItems.Calls versuche abzufragen um welches Item es handelt bekomme ich die Info das es ein Item ist. Ich bekomme allerdings nicht mit, ob das Item ein Mailitem, MeetingItem ... ist.
Ich bräuchte ein Abstraktes Objekt was alle Item aufnehmen kann. Oder eine Funktion womit ich das Item abfragen kann, ob es sich um ein MeetingItem handelt. Hat da jemand eine Idee, weil ich habe schon zick Sachen probiert?

Danke euch schon mal. Gruß

IF ISCLEAR(OLApplication) THEN
CREATE(OLApplication,TRUE,TRUE);

//mapi= Default Folder
OLNamespace := OLApplication.GetNamespace('mapi');

//5 = Folder: olFolderSentMail
OLFolder := OLNamespace.GetDefaultFolder(5);
OLItems := OLFolder.Items;

//43 stand for Mailitem
OLItemType := 43;

FOR Idx := 1 TO olItems.Count DO BEGIN
OLMailItem := OLItems.Item(IDX);
if OLMailItem.Class = OLItemType Then
Message(Format(OLMailItem.Class));
END;
Zuletzt geändert von markuscjb am 27. Juli 2009 22:11, insgesamt 1-mal geändert.

Re: Outlook Automation: Objekt Problem

27. Juli 2009 22:10

Ok ich habe doch noch eine Lösung gefunden.

Hab die Items mit einem OLItems.Restrict(); gefiltert.
Allerdings habe ich die Mail mit einem Userproberty gekennzeichnet.