Hallo,
ich bin leider längere Zeit nicht zum Programmieren gekommen, daher konnte ich das nicht nachvollziehen.
Zuerst mal meine Sourcen, wie ich meine Aufgaben (Tasks) aus Outlook auslese (bei einem ButtonClick).
Damit es nicht zu viele Sourcen werden, habe ich nur die jeweils relevanten Teile geschrieben.
Der ursprüngliche Code ist natürlich länger....
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Outlook, NameSpace, Tasks, Task: OleVariant;
TotalTasksCount: Integer;
Counter: Integer;
const
olFolderTasks = 13;
begin
Outlook := CreateOleObject('
Outlook.Application');
NameSpace := Outlook.GetNameSpace('
MAPI');
Tasks := NameSpace.GetDefaultFolder(olFolderTasks);
TotalTasksCount := (Tasks.Items.Count);
if TotalTasksCount = 0
then begin // There are NO tasks in Outlook
ShowMessage('
You have NO Tasks stored in Outlook!');
end else begin // There ARE tasks in Outlook
for Counter := 1
to TotalTasksCount
do begin
Task := Tasks.Items.Item(Counter);
mmoLog.Lines.Add('
Subject/Betreff : ' + Task.Subject);
mmoLog.Lines.Add('
Attachments Counter/Anzahl Anhänge : ' + IntToStr(Task.Attachments.Count));
mmoLog.Lines.Add(Task.Body);
end;
// of counter loop
end;
// There ARE tasks in Outlook
Outlook := UnAssigned;
end;
Dieses Beispiel fügt aus allen Aufgaben den Betreff, die Anzahl von Anhängen und den Body in ein Memo-Feld hinzu.
Das ganze funktioniert sehr gut.
Das einzige Problem ist, dass Body keine Formatierungen mitliefert.
Ich habe eine Aufgabe angelegt, die einen formatierten Body hat.
Diese hat bei
Task.Attachments.Count den Wert 0.
Also haben formatierte Aufgaben keine Attachments.
Greife ich auf
Task.HTMLBody zu, wird eine
Exception geworfen (Methode "HTMLBody" wird vom Automatisierungsobjekt nicht unterstützt).
Der User
Remko meinte "For RTF and plaintext the body is in the body property".
Wenn ich aber den Body der einen Aufgabe in ein RTF Control reinschreibe (und nicht in ein TMemo) dann wird der auch nicht formatiert angezeigt (da ja in der Outlook-VBA-Hilfe steht "Gibt einen String zurück, der den unformatierten Textkörper des Microsoft Outlook-Elements darstellt...").
Wie komme ich also an den formatierten Body
einer Aufgabe ran?
Also nicht der Body einer Mail......
Danke und Gruß
OLLI