RichText Feld verändern

  • 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??

  • Du erzeugst ein RichTextItem und dann:
    rtItem.appendText("blabla").
    Brauchst das Dok nicht in den Edit-mode zu setzen...aber zum schluss speichern

  • 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

  • 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 )


    ???

    • Offizieller Beitrag

    Call rtitem.AppendText( doc.Feldname(0) )


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • 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?

    • Offizieller Beitrag

    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

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein