![]() |
Formattierung vom Body bei Aufgaben
Hallo,
ich habe ein Programm (Borland Delphi 7) geschrieben, das alle Aufgaben aus Outlook ausließt. Funktioniert perfekt. Dafür verwende ich das Objekt TaskItem. Ich kann also mit TaskItem.Subject den Betreff auslesen. Ich habe nur das Problem, dass TaskItem.Body mir zwar die Beschreibung der Aufgabe zurück liefert, aber leider OHNE die Formatierungen (wie Fett, Aufzählungen, Textfarben, etc.). In der Outlook-VBA-Hilfe steht zu TaskItem.Body: Gibt einen String zurück, der den unformatierten Textkörper des Microsoft Outlook-Elements darstellt... Wie komme ich an den formatierten Text ran? Danke für Eure Hilfe! Gruß OLLI |
Re: Formattierung vom Body bei Aufgaben
.body ist ja die Klartextversion der Nachricht. die formatierte (RTF bzw HTML) ist als Anhang angefügt.
|
Re: Formattierung vom Body bei Aufgaben
Hallo,
danke für die schnelle Antwort. Wenn ich auf TaskItem.Attachments.Count zugreife, um mir die Anzahl der Anhänge ausgeben zu lassen, bekomme ich eine 0 geliefert. Wie kann ich also auf den formatierten Body zugreifen? Gruß OLLI |
Re: Formattierung vom Body bei Aufgaben
Hallo,
ich habe alle Attribute, die mir Outlook bei einer Aufgabe zur Verfügung stellt, durchgegangen aber leider finde ich keine Lösung. Kannst Du mir bitte eine Lösung sagen, wie ich auf den RTF-Formatierten Text zugreifen kann? Ich komme da nicht weiter. Danke für die Hilfe! Gruß OLLI |
Re: Formattierung vom Body bei Aufgaben
You can check the BodyFormat property:
Delphi-Quellcode:
For RTF and plaintext the body is in the body property, for HTML and unspecified the body is in HTMLBody.
type
OlBodyFormat = TOleEnum; const olFormatUnspecified = $00000000; olFormatPlain = $00000001; olFormatHTML = $00000002; olFormatRichText = $00000003; |
Re: Formattierung vom Body bei Aufgaben
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:
Dieses Beispiel fügt aus allen Aufgaben den Betreff, die Anzahl von Anhängen und den Body in ein Memo-Feld hinzu.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; 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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz