Domino 9 und frühere Versionen > ND8: Entwicklung

NotesRichTextStyle

(1/2) > >>

DaemoN:
hallo leute! eigentlich ist NotesRichTextStyle doch total simpel - und trotzdem bekomm ich es einfach nicht hin in einem richtextitem einzelne texte fett zu bekommen. es wird nur ein einziges mal ausgeführt, bei der ersten überschrift. der rest wird ignoriert. warum? was mach ich falsch? versteh ich nicht :-(

hier mein code:


--- Code: ---Sub textbefuellen(doc as NotesDocument)

Dim rtitm as NotesRichTextItem
Dim rtstyle As NotesRichTextStyle

Set rtitm = doc.Getfirstitem(Feld)
Set rtstyle = sess.Createrichtextstyle()

'Überschrift fett:
rtstyle.Bold = True
Call rtitm.Appendstyle(rtstyle)
Call rtitm.Appendtext(ueberschr)

'weiter mit normalem Text:
rtstyle.Bold = False
Call rtitm.Appendstyle(rtstyle)
Call rtitm.Appendtext(text)
Call rtitm.Addnewline(1)

Call doc.Save(True, False)

End Sub
--- Ende Code ---

das ist eine sub und wird in einer schleife immer wieder aufgerufen, das dokument wird nach erweiterung des richtextitems gespeichert.
ich erwarte mir dass der text von ueberschr fett ist, und text ganz normal. tatsächlich ist es aber so dass nur die erste überschrift fett gestylt wird, alle nachfolgenden überschriften werden ganz normal eingefügt.

hat jemand eine idee warum beim nächsten aufruf dieser sub das rtstyle.Bold = True vor befüllen der überschrift einfach ignoriert wird? die dimensionierung von rtitm und rtstyle wird ebenfalls bei jedem neuen subaufruf gemacht und damit sollte eigentlich alles wieder wie beim ersten mal ablaufen.

bin mit meiner weisheit leider am ende. selbst nach über 13 jahren lotusscript programmierung kann notes immer wieder überraschen. leider nicht immer im positiven sinne ;) :D

Peter Klett:
Setze mal testweise einen Zeilenumbruch vor die Überschrift

'Überschrift fett:
rtstyle.Bold = True
Call rtitm.Appendstyle(rtstyle)
Call rtitm.AddNewLine (1)
Call rtitm.Appendtext(ueberschr)

Ab irgendeiner 8er Version ist mir aufgefallen, dass der neue Style erst nach dem nächsten Zeilenumbruch kommt und sorge mittlerweile immer dazu, dass ich den Style-Wechsel vor einem Zeilenumbruch einfüge.

Ist nur eine gefühlte Wahrheit, aber einen Test wert ...

DaemoN:
Danke für dein Feedback. Hat leider nicht funktioniert. Nach wie vor wird nur die erste Überschrift fett geschrieben. Selbst die Auslagerung der Styleänderung in eine Sub hat nicht geklappt. Habe sogar das Beispiel aus der Notes-Hilfe verwendet. Ohne Erfolg. Auch mit einem zweiten rtstyle2 wollen die nachfolgenden Überschriften nicht fett werden. Keine Ahnung, entweder man kann den Style nur einmal pro RT Item ändern oder irgendwo ist der Wurm drin aber der Script ist eh so simpel ... Dann eben ohne fette Überschrift. Schade aber ich hab da jetzt schon 2 Stunden rumprobiert. Hab keine Lust mehr :D

Trotzdem danke für die Hilfe!

Tode:
Nach das mal mit zwei Styles: einen bold einen nicht und Verwende die abwechselnd... Das sollte gehen

DaemoN:
Hab ich auch schon versucht. Mit rtstylefett für die Überschrift und rtstyle für den normalen Text. Wird ebenso ignoriert. Also mehr geht echt nicht :-)


--- Code: ---Sub textbefuellen(doc as NotesDocument)

Dim rtitm as NotesRichTextItem
Dim rtstyle As NotesRichTextStyle
Dim rtstylefett as NotesRichTextStyle

Set rtitm = doc.Getfirstitem(Feld)
Set rtstylefett = sess.Createrichtextstyle()

'Überschrift fett:
rtstylefett.Bold = True
Call rtitm.Appendstyle(rtstylefett)
Call rtitm.Addnewline(1)
Call rtitm.Appendtext(ueberschr)
Call rtitm.Addnewline(1)

'weiter mit normalem Text:
rtstylefett.Bold = False
Call rtitm.Appendstyle(rtstylefett)

Set rtstyle = sess.Createrichtextstyle()
Call rtitm.Appendstyle(rtstyle)
Call rtitm.Addnewline(1)
Call rtitm.Appendtext(text)
Call rtitm.Addnewline(1)

Call doc.Save(True, False)

End Sub
--- Ende Code ---

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln