Ole Zugriff auf mehrere Outlook-Kalender
-
Hallo,
ich abbeite immer noch mit BCB6 und möchte in mehrere Otlook-Kalender Termine eintragen. Ich komme aber nur auf den Standardkalender. Wie kann ich die darunterliegenden Kalender "aktivieren?":
void __fastcall TForm1::Button1Click(TObject *Sender) { Variant vOutlook,vRootFolder,vKalenderFolder,vKalenders,vKalender,vKalenderName,vTermin; double dStartDatum=StrToDateTime("23.04.2010 07:30:00"); double dEndDatum=StrToDateTime("23.04.2010 08:40:00"); int iKalenders,iAntw,iFolders; ShowMessage("Achtung, Outlook muss geöffnet sein!"); try { vOutlook=CreateOleObject("Outlook.Application"); vRootFolder=vOutlook.OleFunction("GetNameSpace", "MAPI"); vKalenderFolder=vRootFolder.OleFunction ("GetDefaultFolder", olFolderCalendar); vKalenders=vKalenderFolder.OlePropertyGet ("Folders"); iKalenders=vKalenders.OlePropertyGet ("Count"); vKalender=vKalenderFolder.OlePropertyGet("Folders",1); vKalenderName=vKalender.OlePropertyGet("Name"); vTermin=vOutlook.OleFunction("CreateItem",olAppointmentItem); //Betreff vTermin.OlePropertySet("Subject", "Mein Termin"); //Ort vTermin.OlePropertySet("Location","Großer Beratungsraum"); //Startdatum vTermin.OlePropertySet("Start",dStartDatum); //Endedatum vTermin.OlePropertySet("end",dStartDatum); //Text vTermin.OlePropertySet("Body","Das ist der Text!"); //Anzeige als (Kategorie) vTermin.OlePropertySet("Categories","Frei"); //speichern vTermin.OleFunction("Save"); } catch(...){} ShowMessage("Termin ist eingetragen!"); //vOutlook.OleFunction("Quit"); vOutlook = Unassigned;
Bevor ich in der Zeile vTermin... den neuen Termin platziere möchte ich einen der beiden "Kalenders" aktivieren?!
Für eine Hilfe wäre ich dankbar. Danke rowo
-
eventuell hilft dir ja dieser Beitrag weiter: http://www.c-plusplus.net/forum/viewtopic-var-t-is-47925-and-start-is-0-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-.html
der ist zwar für Kontakte, aber meißt geht dass dann auch für andere Sacheneventuell müßte in deinem Quellcode Zeile 15 die Zahl entsprechend gesetzt werden. Was gibt denn vKalenderName aus?
Alternative: mit Ouloook ein Makro aufzeichnen und dann mal nachschauen wie das in VBA aussieht
-
Danke erstmal für die schnelle Antwort.
vKalenderName ist nur als Test dadrin, damit ich weiß in welchem Kalender ich mich befinde.
Mit Zeile 15 setze ich schon den richtigen Kalender, aber leider nur zum Lesen.Deinen Link habe ich vorher schon über die Suche gefunden, da habe ich den Zugriff abgeleitet.
Danke rowo.