![]() |
in Outlook einen Termin eintragen per ole
Vielleicht kann mir ja jemand von euch weiterhelfen. Ich möchte aus einem anderen Programm heraus in Outlook einen Termin anlegen, aber irgendwie funktioniert das nicht.
Mit dem unten stehenden Quellcode füllt er aber eine e-mail und hängt dort die Datei an. Was habe ich also falsch gemacht? Er öffnet Outlook und er zeigt mir auch den Kalender an, also bis zu dem Punkt sollte es wohl richtig laufen, aber dann den Eintrag eines Termin in den Kalender, der funktioniert nicht mehr. Weiss von euch jemand, woran es liegen könnte? Ersetze ich z.B. olFolderCalendar durch olFolderContacts und olAppointmentItem durch olContactItem erscheint der Dialog zum Eingeben eines Kontaktes, aber vorher eben immer das Mailfenster und nicht das Fenster zum Eintragen eines Termins! Gruss Susanne
Delphi-Quellcode:
function TfrmWiedervorlage.TerminErstellenMitAnhang(test:String ):Boolean;
const olAppointmentItem = 0; var outlook : OleVariant; folder : OleVariant; NmSpace : OleVariant; AI : Variant; begin try Outlook:=CreateOleObject('Outlook.Application'); NmSpace := Outlook.GetNamespace('MAPI'); NmSpace.Logon(EmptyParam, EmptyParam, False, True); Folder := NmSpace.GetDefaultFolder(olFolderCalendar); Folder.Display; //Termin einstellen AI:= outlook.CreateItem(olAppointmentItem); AI.Subject:='Message'; //AI.Start.Add:=StrToDateTime('04.08.2004'); AI.Attachments.Add('D:\Dateien\test.xxx', olAppointmentItem); AI.Save; Result:= True; except ShowMessage('Fehler in Funktion TerminErstellenMitAnhang'); Result:= False; end; //Outlook nach Eintrag schliessen NmSpace.Logoff; Outlook.Quit; Outlook:= Unassigned; end; |
Re: in Outlook einen Termin eintragen per ole
ok, das habe ich soweit zum laufen bekommen, das nächste Problem ist, dass Outlook nach Ausführen des Quellcodes nicht mehr richtig reagiert.
Outlook kann nicht mehr gestartet werden, und Outlook ist auch noch in den Prozessen vorhanden. Wenn ich den Prozess beende, dann kann ich auch Outlook wieder ganz normal starten. Was habe ich also hier übersehen, das kann schliesslich nicht sinn und zweck des ganzen sein. |
Re: in Outlook einen Termin eintragen per ole
Delphi-Quellcode:
Du allokierst damit Speicher, ich sehe aber nicht, wo er wieder freigegeben wird. Outlook.Quit, reicht das ? AI ist doch noch da. :gruebel:
AI:= outlook.CreateItem(olAppointmentItem);
|
Re: in Outlook einen Termin eintragen per ole
oh mist, stimmt, danke
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 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