AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Outlook-Kalender auslesen

Offene Frage von "MrChey"
Ein Thema von MrChey · begonnen am 20. Okt 2016 · letzter Beitrag vom 21. Okt 2016
Antwort Antwort
MrChey

Registriert seit: 28. Feb 2016
Ort: Nentershausen/Ww.
8 Beiträge
 
#1

Outlook-Kalender auslesen

  Alt 20. Okt 2016, 10:51
Hallo,

ich weiß, dass diese Frage schon sehr oft gestellt wurde. Ich habe nachfolgenden Code gefunden und getestet. Soweit funktioniert er auch.
Doch leider kann ich nur den 'Kalender' auslesen, aber nicht die 'Unter-Kalender' [Raum1, Raum2, Raum3].
Es hat mit Sicherheit etwas mit
Code:
CalendarFolder := Topfolder.Folders('Kalender');
zu tun. Ich habe wirklich alles getan, um
eine Lösung zu finden. Kann mir hier jemand helfen? Wäre echt toll.


Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
const
  olFolderCalendar = $00000009;
var
  outlook, NameSpace,calendarfolder, Termine, Termin, topfolder: OleVariant;
  i: Integer;
  Datum, ZeitVon, ZeitBis, Firma, Raum, Kategorie, erledigt_jn : string;
  f : TextFile;

begin


  outlook := CreateOleObject('Outlook.Application');
  NameSpace := outlook.GetNameSpace('MAPI');
  TopFolder := NameSpace.Folders[1];
  CalendarFolder := Topfolder.Folders('Kalender');
  Termine := NameSpace.GetDefaultFolder(olFolderCalendar);

  for i := 1 to Termine.Items.Count do
  begin
    Termin := Termine.Items.Item(i);
    Datum := Copy(DateTimeToStr(Termin.Start),1,10);
    ZeitVon := Copy(DateTimeToStr(Termin.Start),12,8);
    ZeitBis := Copy(DateTimeToStr(Termin.End), 12,8);
    Firma := Termin.Subject;
    Raum := Termin.Location;
    Kategorie := Termin.Categories;
    erledigt_jn := 'N';


      if StrToDate(Datum) <> Now then // Wenn das eingelesene Datum größer ist, als das Aktuelle dann...
        begin // schreibe den Termin
          memo1.lines.add( Raum +','+ Kategorie +','+ Firma +','+ Datum +','+ ZeitVon +','+ ZeitBis +','+ erledigt_jn);
     end;

  end;

  Outlook := UnAssigned;
end;
Miniaturansicht angehängter Grafiken
outlook-kalender.jpg  
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Outlook-Kalender auslesen

  Alt 20. Okt 2016, 13:19
Hab mal was aus einer Excel-VBA-Anwendung kopiert, daher die nicht Delphi-Syntax. Das Prinzip des Zugriffs sollte aber das selbe sein:

Code:
Set Kalender = objApp.GetNamespace("MAPI") _
               .Folders.Item("Öffentliche Ordner") _
               .Folders.Item("Alle Öffentlichen Ordner") _
               .Folders.Item("Kalender") _
               .Folders.Item("Raum1")
Ralph
  Mit Zitat antworten Zitat
MrChey

Registriert seit: 28. Feb 2016
Ort: Nentershausen/Ww.
8 Beiträge
 
#3

AW: Outlook-Kalender auslesen

  Alt 20. Okt 2016, 13:51
Hab mal was aus einer Excel-VBA-Anwendung kopiert, daher die nicht Delphi-Syntax. Das Prinzip des Zugriffs sollte aber das selbe sein:

Code:
Set Kalender = objApp.GetNamespace("MAPI") _
               .Folders.Item("Öffentliche Ordner") _
               .Folders.Item("Alle Öffentlichen Ordner") _
               .Folders.Item("Kalender") _
               .Folders.Item("Raum1")
Hallo Jumpy,

vielen lieben Dank, habe es versucht zu implentieren. Leider ohne Erfolg.
Ich bekomme immer nur die Fehlermeldung Der versuchte Vorgang konnte nicht ausgeführt werden. Ein Objekt wurde nicht gefunden.
Aber welches Objekt, sagt mir diese Meldung nicht.
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Outlook-Kalender auslesen

  Alt 20. Okt 2016, 15:02
Wie hast du es denn gemacht? Welche Bezeichnungen? Und an welcher Stelle kommt die Fehlermeldung?
Ralph
  Mit Zitat antworten Zitat
MrChey

Registriert seit: 28. Feb 2016
Ort: Nentershausen/Ww.
8 Beiträge
 
#5

AW: Outlook-Kalender auslesen

  Alt 21. Okt 2016, 13:25
Wie hast du es denn gemacht? Welche Bezeichnungen? Und an welcher Stelle kommt die Fehlermeldung?
Delphi-Quellcode:
procedure TfrmEinstellungen.AutoImport();
const olFolderCalendar = 9;
      olPublicFoldersAllPublicFolders = 12;
var
  outlook, NameSpace,calendarfolder, Termine, Termin,topfolder: OleVariant;
  i: Integer;
  Created : Boolean;
  f : TextFile;

begin
  outlook := CreateOleObject('Outlook.Application');
  Created := True;
  NameSpace := outlook.GetNameSpace('MAPI');
  TopFolder := NameSpace.GetDefaultFolder(olFolderCalendar);
  Termine := TopFolder.Folders(kal);


// Titel des Termins und Startdatum mit Zeit auslesen:
for i := 1 to Termine.Items.Count do
  begin
    Termin := Termine.Items.Item(i);

//...
Yeehaaah. So läuft es wunderbar.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz