Announcement

Collapse
No announcement yet.

Outlook Kalendereinträge erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Outlook Kalendereinträge erstellen

    Ich möchte über eine Anwendung im Outlook Kalendereintrage generieren .

    Ist es überhaupt möglich in die Outlook-Datenbank einträge zu erstellen oder kann ich hier nur Werte auslesen?

    Wenn mir jemand helfen kann wäre ich mega dankbar.

  • #2
    Du solltest den Weg Outlook Automation wählen. Ich habe das schon in Delphi gemacht und es Funktioniert super. in .Net sollte es mit hilfe der Outlook assemblys noch einfacher sein

    Comment


    • #3
      Hy Sascha, kannst Du mir das bitte etwas genauer beschreiben? Kann damit leider null anfangen. Ich habe schon die msout85.olb als Verweis hinzugefügt. Leider finde ich hier nur Methoden zum auslesen aber keine Adds

      Comment


      • #4
        Habe hier noch einige Mapi Beispiele :<BR>
        <BR>
        Termin Eintragen:

        uses ComObj;
        const
        olFolderCalendar = 9;

        function E_AddCalendarItem(const pDate,pSubject, pLocation, pBody: PChar): Integer; stdcall;
        var
        aOutlook : Variant;
        aMAPI : Variant;
        aCalendar : Variant;
        sDate : String;
        sSubject : String;
        sLocation : String;
        sBody : String;
        begin
        Result := 0;
        try
        sDate := pDate;
        sSubject := pSubject;
        sLocation := pLocation;
        sBody := pBody;
        aOutlook := CreateOleObject('Outlook.Application.8');
        try
        aMAPI := aOutlook.GetNameSpace('MAPI');
        aCalendar := aMAPI.GetDefaultFolder(olFolderCalendar).Items.Add ;
        aCalendar.Start := StrToDateTime(sDate);
        aCalendar.Subject := sSubject;
        aCalendar.Location := sLocation;
        aCalendar.Body := sBody;
        aCalendar.Save;
        Result := 1;
        finally
        aOutlook := Unassigned;
        end;
        except
        // Exceptions für SQLWindows/32 abfangen !!!
        end;
        end;

        Kontakte

        procedure TForm1.Button1Click(Sender: TObject);
        var
        aNameSpace : NameSpace;
        aContacts : MAPIFolder;
        aContactItem : ContactItem;
        iCnt : Integer;
        begin
        OutlookApplication1.Connect;
        aNameSpace := OutlookApplication1.GetNamespace('MAPI');
        aContacts := aNameSpace.GetDefaultFolder(olFolderContacts);
        for iCnt := 1 to aContacts.Items.Count do
        begin
        aContactItem := aContacts.Items.Item(iCnt) as ContactItem;
        ListBox1.Items.Add(Format('%s : %s', [aContactItem.FirstName,
        aContactItem.Email1Address]));
        end;
        OutlookApplication1.Disconnect;
        end;

        Termin eintragen

        procedure TFormMain.BitBtnCalendarClick(Sender: TObject);
        var
        aOutlook : _DApplication;
        aMAPI : NameSpace;
        aFolder : MAPIFolder;
        aCalendar : AppointmentItem;
        begin
        StatusBar1.SimpleText := 'Termin wird in Outlook eingetragen...';
        dwStart := GetTickCount;
        Screen.Cursor := crHourglass;
        aOutLook := CoApplication_.Create;
        try
        aMAPI := aOutlook.GetNameSpace('MAPI');
        aFolder := aMAPI.GetDefaultFolder(olFolderCalendar);
        aCalendar := aFolder.Items.Add(olAppointmentItem) as AppointmentItem;
        aCalendar.Start := EncodeTime(9, 0, 0, 0) + Int(DateTimePicker1.Date);
        aCalendar.Duration := 60;
        aCalendar.Subject := EditSubject.Text;
        aCalendar.ReminderMinutesBeforeStart := 30;
        aCalendar.ReminderPlaySound := True;
        aCalendar.ReminderSet := True;
        aCalendar.Location := EditLocation.Text;
        aCalendar.Body := MemoBody.Text;
        aCalendar.Save;
        finally
        aOutlook := nil;
        Screen.Cursor := crDefault;
        end;
        dwEnd := GetTickCount;
        StatusBar1.SimpleText := Format('Ausführungszeit: %d Windows-Ticks', [dwEnd - dwStart]);
        end

        Comment


        • #5
          Entschuldige, ist nicht formatiert..

          Comment


          • #6
            Danke für Deine Mühe nur hat niemand hier ne Peilung wie ich das in C# umsetzen könnte

            Comment


            • #7
              Aber doch! Ich spare mir aber die Mühe, und verweise auf einen Artikel:
              http://www.codeproject.com/csharp/OutlookConnector.asp

              Den Rest kannst Du aus den Sourcen lesen, bzw. einfach die Komponenten verwenden.
              Mich

              Comment


              • #8
                Prima Danke, nach Umstellung der Schleifen (wollte so nicht funktionieren) kann ich jetzt prima aus dem Outlook Werte auslesen. Nur leider kann ich keine Kalendereinträge erzeugen. Ich habe es jetz schon geschafft einen neuen Kalender zu erstellen aber einen Termin...unmöglich. Bin am verzweifeln.

                Grüße Torste

                Comment

                Working...
                X