![]() |
Outlook auf einem 2 Kalender Termine eintragen.
Hallo,
über OLE möchte ich mit Delphi Termine in einem zweiten Outlook-Kalender eintragen, in den normalen Kalender ist das kein Problem, aber wie kann ich den 2 Kalender aktivieren, um anschließend Termine einzutragen? Bis bald Chemiker |
Re: Outlook auf einem 2 Kalender Termine eintragen.
Hallo,
Problem ist gelöst. Bis bald Chemiker |
Re: Outlook auf einem 2 Kalender Termine eintragen.
verrätst Du uns auch bitte, wie Du es gelöst hast?
|
Re: Outlook auf einem 2 Kalender Termine eintragen.
Hallo,
mit dieser Routine kann man alle Outlook-Kalender in einer TObjectList ablegen. Über die erhalten Daten ist es dann möglich den zweiten Kalender anzusprechen und einen Termin neu anzulegen.
Delphi-Quellcode:
Bis bald Chemiker
procedure Tfrm_e_Mail_versenden_Demo.btnTListKalenderSpeichernClick(
Sender: TObject); procedure ListeEintragen(aFolder: MAPIFolder; aKalenderListe:TObjectList); var aKalenderEintrag: THPLKalenderItem; begin aKalenderEintrag:= THPLKalenderItem.Create; aKalenderEintrag.KalenderID:= aFolder.EntryID; aKalenderEintrag.KalenderName:= aFolder.name; aKalenderEintrag.KalenderParent:= aFolder.FolderPath; aKalenderListe.Add(aKalenderEintrag); end; procedure NeuerOrdner (aUnterOrdner: MAPIFolder; aKalenderListe: TObjectList); var i: Integer; begin for I := 1 to aUnterOrdner.Folders.Count do begin ListeEintragen(aUnterOrdner.Folders.Item(i), aKalenderListe); NeuerOrdner(aUnterOrdner.Folders.Item(i), aKalenderListe); end; end; var MeinNameSpace: NameSpace; Kalender: MAPIFolder; UnterOrdner: MAPIFolder; KalenderListe: TObjectList; I: integer; begin KalenderListe:= TObjectList.Create; try OutlookApplication1.Connect; MeinNameSpace:= OutlookApplication1.GetNamespace('MAPI'); MeinNameSpace.Logon('','', FALSE, FALSE); Kalender := MeinNameSpace.GetDefaultFolder(olFolderCalendar); UnterOrdner:= Kalender; ListeEintragen(UnterOrdner, KalenderListe); NeuerOrdner(UnterOrdner, KalenderListe); // Zum Testen ausgeben. ListBox1.Clear; for I := 0 to KalenderListe.Count - 1 do begin ListBox1.Items[i]:= THPLKalenderItem(KalenderListe.Items[i]).KalenderName; end; MeinNameSpace.Logoff; OutlookApplication1.Quit; OutlookApplication1.Disconnect; finally freeAndNil(KalenderListe); end; end; |
AW: Outlook auf einem 2 Kalender Termine eintragen.
Hallo,
die THPLKalenderItem – Class hatte ich wohl vergessen mit anzugeben. Ich habe sie mal auf das wesentliche gekürzt:
Delphi-Quellcode:
Bis bald Chemiker
type
THPLKalenderItem= Class(TObject) private FKalenderID: String; FKalenderStoreID: String; FKalenderName: String; FKalenderParent: String; FKalenderAnzahl: integer; function GetFKalenderAnzahl: integer; function GetFKalenderID: String; function GetFKalenderName: String; function GetFKalenderParent: String; procedure SetFKalenderAnzahl(const Value: integer); procedure SetFKalenderID(const Value: String); procedure SetFKalenderName(const Value: String); procedure SetFKalenderParent(const Value: String); function GetFKalenderStoreID: String; procedure SetFKalenderStoreID(const Value: String); public property KalenderID: String read GetFKalenderID write SetFKalenderID; property KalenderName: String read GetFKalenderName write SetFKalenderName; property KalenderParent: String read GetFKalenderParent write SetFKalenderParent; property KalenderAnzahl: integer read GetFKalenderAnzahl write SetFKalenderAnzahl; property KalenderStoreID: String read GetFKalenderStoreID write SetFKalenderStoreID; end; { THPLKalenderItem } function THPLKalenderItem.GetFKalenderAnzahl: integer; begin result:= FKalenderAnzahl; end; function THPLKalenderItem.GetFKalenderID: String; begin result:= FKalenderID; end; function THPLKalenderItem.GetFKalenderName: String; begin result:= FKalenderName; end; function THPLKalenderItem.GetFKalenderParent: String; begin result:= FKalenderParent; end; function THPLKalenderItem.GetFKalenderStoreID: String; begin result:= FKalenderStoreID; end; procedure THPLKalenderItem.SetFKalenderAnzahl(const Value: integer); begin if Value<>FKalenderAnzahl then begin FKalenderAnzahl:= Value; end; end; procedure THPLKalenderItem.SetFKalenderID(const Value: String); begin if Value<>FKalenderID then begin FKalenderID:= Value; end; end; procedure THPLKalenderItem.SetFKalenderName(const Value: String); begin if Value<>FKalenderName then begin FKalenderName:= Value; end; end; procedure THPLKalenderItem.SetFKalenderParent(const Value: String); begin if Value<>FKalenderParent then begin FKalenderParent:= Value; end; end; procedure THPLKalenderItem.SetFKalenderStoreID(const Value: String); begin if Value<>FKalenderStoreID then begin FKalenderStoreID:= Value; end end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 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