uses ComObj;
function TerminAbfrage(von, bis: TDate; gef: TStrings): Boolean;
var
z: Integer;
Space, Outlook, Alles, Termin, Items: OleVariant;
s, sv, sb: string;
begin
result := false;
gef.clear;
try
Outlook := CreateOleObject('Outlook.Application');
except
exit;
end;
try
Space := Outlook.GetNamespace('MAPI');
Space.Logon(EmptyParam, EmptyParam, False, True);
Alles := Space.GetDefaultFolder($9);
Items := Alles.Items;
for z := 1 to Items.count do
begin
Termin := Items.Item(z);
if (Termin.Start >= von) and (Termin.End <= bis) then begin
if Termin.CreationTime = Termin.LastModificationTime
then s := ' (nicht geändert)' else
s := ' geändert: ' + DateTimeToStr(Termin.LastModificationTime);
sv := DateTimeToStr(Termin.start);
sb := DateTimeToStr(Termin.End);
gef.add(sv + ' - ' + sb +
' ' + Termin.Subject + ' ' + Termin.Body +
' eingetragen: ' + DateTimeToStr(Termin.CreationTime) + s);
end;
end;
Result := True;
except
end;
Space.Logoff;
Termin := Unassigned;
Alles := Unassigned;
Outlook := Unassigned;
end;
// Beispielaufruf
procedure TForm1.Button1Click(Sender: TObject);
var
von, bis: string;
begin
screen.cursor := crhourglass;
von := '1.1.2012';
bis := '31.12.2012';
if not
TerminAbfrage(strtodate(von), strtodate(bis), Memo1.lines)
then Memo1.text := 'FEHLER' else
if Memo1.text = '' then
Memo1.text := 'Nichts gefunden!';
screen.cursor := crdefault;
end;