Autor Thema: Body als Text speichern  (Gelesen 2709 mal)

Offline Brednich

  • Frischling
  • *
  • Beiträge: 3
Body als Text speichern
« 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
   

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Body als Text speichern
« Antwort #1 am: 11.05.10 - 11:18:10 »
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.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Body als Text speichern
« Antwort #2 am: 11.05.10 - 11:31:00 »
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)

Offline Brednich

  • Frischling
  • *
  • Beiträge: 3
Re: Body als Text speichern
« Antwort #3 am: 11.05.10 - 11:37:56 »
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.

Offline Jens Winkelmann

  • Junior Mitglied
  • **
  • Beiträge: 53
  • Geschlecht: Männlich
  • Jens Winkelmann
    • PAVONE AG
Re: Body als Text speichern
« Antwort #4 am: 11.05.10 - 15:09:25 »

Sind die betroffenen Body Felder vom Typ Rich Text oder MIME?

Also was steht in der Property 'Data Type' der betroffenen Body Felder. 


Offline Brednich

  • Frischling
  • *
  • Beiträge: 3
Re: Body als Text speichern
« Antwort #5 am: 12.05.10 - 08:07:10 »
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.

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Body als Text speichern
« Antwort #6 am: 12.05.10 - 08:33:55 »
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
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz