Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Brednich am 11.05.10 - 10:50:59
-
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
-
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.
-
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)
-
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.
-
Sind die betroffenen Body Felder vom Typ Rich Text oder MIME?
Also was steht in der Property 'Data Type' der betroffenen Body Felder.
-
Kann ich leider im Moment nicht sagen. Ich kann das Problem nicht nachstellen, es tritt lediglich bei einem Kunden von uns auf. Und bis ich den dazu bewogen habe, ein neues Script zu probieren wird ein paar Tage dauern. Ich probier's mal.
-
Evtl Session.ConvertMime während der Verarbeitung auf True setzen.
Danach stellt man aber am Besten den alten Status wieder her, da dies "clientweit" gilt.
Gruß
Roland