Domino 9 und frühere Versionen > ND6: Entwicklung
AddNewLine Methode
Axel:
Hi,
du mischt hier Backend- und Frontend-Funktionen und RTF-Felder, die sowieso recht störrisch programmiertechnisch zu füllen sind, reagieren hier ziemlich allergisch.
Ich habe den Code hier mal aus dem Web gefischt. Damit füllst du das RTF-Feld, dann wird das Dokument, ohne es zu speichern, neu geöffnet und damit ist der Text im RTF-Feld sichtbar. Der Code ist mit Sicherheit noch an der einen oder anderen Ecke verbesserungsfähig, aber er funktioniert auch so schon recht gut.
--- Code: ---Sub Click(Source As Button)
Dim wksp As New NotesUIWorkspace
Dim uidoc As NotesUIDocument, uidocNew As NotesUIDocument
Dim doc As NotesDocument
Dim rti As NotesRichTextItem
Set uidoc = wksp.CurrentDocument
If uidoc.EditMode Then Call uidoc.Refresh (True) ' do this if the rich text field is editable, to get the current contents in case user has modified them.
Set doc = uidoc.Document 'get the back-end document for the document open on screen.
Set rti = doc.GetFirstItem("rtTest")
' Make your rich text changes here, for instance:
Call rti.AddNewLine(1, True)
Call rti.AppendText(Now & ": log entry.")
Call rti.Update ' ND6 only
doc.SaveOptions = "0" ' make it possible to close the document without a "do you want to save" prompt.
Call uidoc.Close(True)
Set uidocNew = wksp.EditDocument(True, doc, , , , True)
Delete uidoc
uidocNew.Document.RemoveItem("SaveOptions")
End Sub
--- Ende Code ---
Axel
Andreas Huhn:
Du hast recht Axel, und das funktioniert auch schon recht gut.
Nur etwas fehlt mir noch. Daß der Text VOR dem bereits bestehenden gestellt wird und nicht danach. Hab etwas nachgeforscht und bin auf die BeginInsert Methode gestossen.
Hab das versucht zu implementieren:
Dim rtnav As NotesRichTextNavigator
...
...
Set rtnav = rti.CreateNavigator
Call rti.BeginInsert(rtnav)
Der Text steht immer drunter....
Axel:
Hi,
meines Wissens kannst du Text immer nur ans Ende eines RTF - Feldes anhängen. Oder du müsstest den kompletten Inhalt auslesen, diesen mit deinem einzufügenden Text entsprechend zusammenbauen und wieder in das RTF-Feld einfügen.
Axel
Andreas Huhn:
Aber genau das verspricht doch laut Hilfe die Methode InsertBegins des NotesRichTextItem zu tun!?
Ich werds jetz mal so versuchen wie du gesagt hast.
Danke Axel,
Grüße,
Andreas
koehlerbv:
Du hast da aber die Hilfe nicht richtig gelesen - Wenn Du zu Beginn des RTIs einfügen willst, musst das erste RT-Element auch angeben. Im Beispiel zu BeginInsert ist das auch genau so aufgeführt.
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln