![]() |
Re: Termineintrag aus Outlook auslesen
vielen vielen Dank!!! Es klappt!!! Lass dich knutschen! :dancer:
|
Re: Termineintrag aus Outlook auslesen
:mrgreen:
|
Re: Termineintrag aus Outlook auslesen
langsam werde ich dann doch noch wahnsinnig, mein Filter will nicht mehr! Ich habe in Outlook gestern einen Termin und für heute drei Termine drin. Er findet alle vier, aber wenn der Filter drauf war, hat er null. Ich weiss nicht was ich getan habe, es funktionierte schon so wunderbar.
Code:
an der Zeile: GefilterteTermine := oItems.Restrict(sFilter);
function TfrmWiedervorlage.TerminAbfragen(datum:String):Boolean;
var i : Integer; Termine, Termin : OleVariant; oItems, x : OleVariant; GefilterteTermine : OleVariant; sFilter, sFileName : String; begin try Outlook:= CreateOleObject('Outlook.Application'); NmSpace:= Outlook.GetNamespace('MAPI'); NmSpace.Logon(EmptyParam, EmptyParam, False, True); Termine:= NmSpace.GetDefaultFolder(olFolderCalendar); oItems := Termine.Items; //Filter setzen: heutige Datum GefilterteTermine := oItems.Restrict(sFilter); i:= oItems.count //hier hat er die vier Termine drin i:= GefilterteTermine.count; //hier sind es dann nur noch 0 ???? for i := 1 to gefilterteTermine.Count do begin Termin := GefilterteTermine.Item(i); ShowMessage(Termin.Subject + ' '+ DateToStr(Termin.Start) ); x:= Termin.Attachments.Item(1); sFileName:= x.FileName; sFileName:= 'C:\'+sFileName; x.SaveAsFile(sFileName); DateiAuslesen(sFileName); //Datei am Ende loeschen DeleteFile(pChar(sFileName)); end; Result:= True; except ShowMessage('Fehler in Funktion TerminAbfragen'); Result:= false; end; NmSpace.Logoff; Termin:=Unassigned; x:=Unassigned; GefilterteTermine:= Unassigned; Termine:= Unassigned; Outlook:= Unassigned; end; scheint es zu scheitern, denn wenn ich statt datum Subject abfrage geht er auch in die Schleife rein. |
Re: Termineintrag aus Outlook auslesen
Hi Susanne!
Wo wird denn "sFilter" gesetzt? Wenn Dein Filter String nicht initialisiert/belegt wird, dann geht's glaube ich in die Hose, weil nichts gescheites drin steht... |
Re: Termineintrag aus Outlook auslesen
Delphi-Quellcode:
so habe ich den Filter gesetzt, ist irgendwie nicht mitgekommen
sFilter := '[Start] ='''+ DateToStr(Date) +'''';
Delphi-Quellcode:
damit z.B. zeigt er mir den Termin an, was ist also bei der anderen Zeile falsch?
sFilter := '[Subject] ='''+ 'Sport' +'''';
|
Re: Termineintrag aus Outlook auslesen
Guten Morgen,
ein Stückchen weiter oben hatte ich kurz erwähnt, dass ich mir wegen des Datumsformats für "Start" im Filter-String nicht sicher bin. Es könnte sein, dass das Dein Problem ist. Lass' Dir doch einfach mal den Property-Wert von "Start" ausgeben und sieh mal nach, wie das Datum formatiert ist. Etwas anderes fällt mir momentan nicht ein. Viel Glück! |
Re: Termineintrag aus Outlook auslesen
ich verstehe es einfach nicht. Es hat den ganzen morgen über geklappt (mal wieder) und jetzt wieder nicht mehr richtig. Das mit dem Datum ist richtig. Also: Montags 3 TErmine Dienstag einer
Code:
damit ist im Moment das Ergebnis 1, er zeigt mir den ersten Eintrag für Montag an, es sind aber nun mal drei und er müsste mir alle drei anzeigen, wie er es ja bisher gemacht hat.
sFilter := '[START] ='''+ dateToStr(date) +'''';
Code:
damit ist das Ergebnis 4, er zeigt mir zuerst den Dienstag an (warum eigentlich?) und anschliessend alle drei am Montag.
sFilter := '[START] >='''+ dateToStr(date) +'''';
Ich versteh es einfach nicht! IRgendwer irgendeine Idee, was hier passiert? Da hat meine Logik irgendwo einen Knick. |
Re: Termineintrag aus Outlook auslesen
zu deinem Zeitproblem,
vielleicht braucht [Start] kein Datum sondern ein DatumZeit [Start] >= 1.1.2004 08:00:00 [Start] <= 1.1.2004 23:59:59 nicht getestet nur ne Vermutung Nachdem ich das Beispiel bei mir zum Laufen gebracht habe, stellte ich fest, dass zwar die Termine kommen, aber keine eingeplanten Daueraufträge als Termin mit angezeigt werden. (z.B. zeige Tag um 10:15 Uhr eine Meldung an) Danach habe ich die Zeile
Delphi-Quellcode:
auf
Termine := NameSpace.GetDefaultFolder(olFolderCalendar); // olFolderCalendar = 9
Delphi-Quellcode:
abgeändert.
Termine := NameSpace.GetDefaultFolder(olFolderTasks ); // olFolderTasks = 13
nun bekomme ich zwar die Aufgaben, aber die Zeitinformation kann nicht ermittelt werden. Gibt es eine andere Möglichkeit die Termine und Aufgaben eines Tages gemeinsam aufzulisten? |
Re: Termineintrag aus Outlook auslesen
Hallo!
Soweit ist ja alles ganz gut beschrieben, nur leider liefert die o.g. Filterklausel [Start] = "05.08.2004" keinerlei Ergebnisse. Das gleiche Problem hatte Susanne ja AFAIK auch. Ich habs auch mit einfachen doppelten Gänsefüsschne probiert [Start] = ''05.08.2004'' hilft genauso wenig... keinerlei Ergebnisse. So klappt das Auslesen wunderbar, nur sind das halt ein paar Termine auf einmal :) Jemand einen Vorschlag? tyler |
Re: Termineintrag aus Outlook auslesen
Hallo Domo Sokrat,
Danke für das Programm, es funktioniert bei mir gut. Leider aber bekomme ich nur meine eigenen Termine zu gesicht. Wie kann ich auch die fremden Termine vom Exchange Server holen? Die Kollegin hatte mir sogar extra schreibrechte auf Ihren Kalender gegeben, ich seh trotzdem nur meine Termine. Hast du oder jemand anders eine Lösung? Gruß GÜnter Hanke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz