Hallo,
ich schaffe es nicht den Inhalt eines RichText Feldes mittels eines Agenten zuverändern, wobei der alte Inhalt nicht überschrieben werden soll. Muss ich das Dokument, in welchem sich das Feld befindet in den "Edit-Modus" setzen??
RichText Feld verändern
- lustich
- Erledigt
-
-
Du erzeugst ein RichTextItem und dann:
rtItem.appendText("blabla").
Brauchst das Dok nicht in den Edit-mode zu setzen...aber zum schluss speichern -
Die wichtigste Frage ist ersteinmal wo willst du den Inhalt des RTFeldes ändern: Im Backend oder im Frontend ?
-
Ok. Ich erstelle ein neues rtItem.
rtItem.appendText("blabla") <-- Aber wo krieg ich jetzt hier meinen Bezug zu dem Dokument und dem darin enthaltenen Feld?
Werd da noch nicht so ganz schlau raus.
Danke für erste... -
Das ist das Beispiel aus der Notes-Hilfe:
Dim doc As NotesDocument
Dim rtitem As Variant
'...set value of doc...
Set rtitem = doc.GetFirstItem( "Body" ) <-- hier der Bezug aufs Dokument
If ( rtitem.Type = RICHTEXT ) Then
Call rtitem.AppendText( "Add text to the rich text item" )
Call rtitem.AddNewLine( 1 )
Call rtitem.AppendText("Add more text to rich text item")
Call doc.Save( False, True )
End If -
Wunderbar. Ich dank euch beiden für die schnelle Hilfe
-
und was machst du wenn beim:
Call rtitem.AppendText( "Add text to the rich text item" )
anstatt "Add text to ..." der Inhalt eines Textfeldes reingeschrieben werden soll ?
z.B.:dim text as variant
text=doc2.textfield
Set rtitem = doc1.GetFirstItem( text )???
-
Call rtitem.AppendText( doc.Feldname(0) )
Gruß
Dirk -
ist schon richtig, aber ich meinte das :
Variant does not contain an object
bei : call rtitem.AddNewLine(1)
oder noch besser :
Instance member ADDNEWLINE does not exist
Vorschläge ?
-
hier nochmal alles zusammengefasst:
(das habe ich in der schleife, feld aus doc1 , aus doc2 usw...)
Set doc=db.GetDocumentByUNID(ID)
Dim rtitem As NotesRichTextItem
Set rtitem = New NotesRichTextItem(doc, "Body" )
Call rtitem.AddNewLine(1)
Call rtitem.AppendText(Feld)
Call sbdoc.Save( False,True )Vielleicht hab ich was falsch gemacht?
-
Na die Meldung lässt sich leicht erklären.
Wenn du dir ein Feld aus einem Dokument holst und dieses Feld ist kein RichTextFeld bzw existiert nicht, dann bekommst du genau die Meldungen -
Ja, das sind keine RichTextfelder...
was muss ich den in dem Falle machen ?
Convert in RichText ? wie ? -
Call rtitem.AppendText( doc.Feldname(0) )
anstelle von Feldname musst Du nur noch Deinen Feldnamen eintragen.
Bei Mehrfachwertefeldern musst Du noch eine Schleife darum basteln.Gruß
Dirk -
Im Design ändern und alle Dokumente neu speichern bzw aktualisieren lassen
-
@ Diali:
das ist mir schon klar. ich kann nur kein (normales) Text in ein Richtextfeld einsetzen@ taurec:
SUPER Vorschlag man :hammer: