Domino 9 und frühere Versionen > ND7: Entwicklung
Body als Text speichern
Brednich:
Hi,
ich möchte den Body eines NotesDocument als Text auslesen. Geht eigentlich ganz einfach und klappt auch fast immer, aber leider nur fast. Bei manchen Mails bekomme ich mit meiner Methode nur Teiles des Bodys.
Ich gehe so vor:
If doc.HasItem ("Body") Then
Dim bodyTxt As String
Dim rtitem As Variant
Set rtitem = doc.GetFirstItem("Body")
If (rtitem.Type = RICHTEXT) Then
bodyTxt = rtitem.GetUnformattedText()
Else
bodyTxt = doc.GetItemValue("Body")(0)
End If
End If
Was könnte daran falsch sein? Oder gibt es eine bessere Methode, an den Bodytext zu kommen?
Danke,
Michael
Peter Klett:
Habe das gerade ausprobiert. Wenn sehr viel Text im Richtextitem ist, werden mehrere Items "Body" angelegt. Wenn Du mit doc.GetFirstItem auf das Body-Feld zugreifst, bekommst Du nur den Inhalt des ersten Items.
bodyTxt = doc.GetItemValue("Body")(0)
Gibt den kompletten Text des Items aus, unabhängig davon, ob es sich um ein Text- oder Richtextfeld handelt und (zumindest bei Richtext) wieviele Items mit gleichem Namen sich im Dokument befinden.
Peter Klett:
IRRTUM: Mein Beitrag von eben ist falsch!!
Korrekt ist, dass bodyTxt = doc.GetItemValue("Body")(0) weniger Text ausgibt, als bodyTxt = rtitem.GetUnformattedText()
(Wenn man zu blöd ist, seine eigenen Testergebnisse zu lesen, kommt sowas dabei heraus :(, sorry)
Brednich:
Ich glaube nicht, dass die Problemursache darin zu finden ist, dass es mehrere Body-Items gibt. Die betroffenen Mails enhalten Aufzählungen im Bodytext, also z.B. so etwas wie
hallo xyz,
1. hier steht ein text
2. und hier noch einer
3. das war's
und tschüß
Wenn ich einen solchen Body mit der genannten Methode speichere, dann sieht das Ergebnis so aus:
hallo xyz,
1. 2. 3. und tschüß
Es fehlt also der eigentliche Text der Aufzählung. Und merkwürdigerweise passiert das nur bei bestimmten Mails. Werden diese Mails weitergeleitet, dann ist das Problem in der weitergeleiteten Mail nicht mehr nachvollziehbar.
Jens Winkelmann:
Sind die betroffenen Body Felder vom Typ Rich Text oder MIME?
Also was steht in der Property 'Data Type' der betroffenen Body Felder.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln