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 Sachen

    eventuell 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.


Anmelden zum Antworten