Einzelnen Beitrag anzeigen

Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#13

Re: Termineintrag aus Outlook auslesen

  Alt 6. Aug 2004, 14:16
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:
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;
an der Zeile: GefilterteTermine := oItems.Restrict(sFilter);
scheint es zu scheitern, denn wenn ich statt datum Subject abfrage geht er auch in die Schleife rein.
Susanne
  Mit Zitat antworten Zitat