Feldinhalt übertragen

  • Hallo,


    ich habe ein berechnetes Feld "MailcInfo" und wollte den Inhalt über eine Aktion in das Feld Body übertragen.


    Ich steh nur grad auf dem schlauch mit welchen Befehl ich das machen kann.


    Danke

  • @SetField( fieldName ; value )

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Am einfachsten geht es über die Klasse NotesUIDocument


    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = ws.CurrentDocument

    Call uidoc.FieldAppendText("Body", uidoc.ieldGetText("MailCInfo"))


    Über die Backend-Klasse ist es ein wenig schwieriger, weil "Body" ein Richtext-Field ist. Manipulationen an Richtext-Feldern werden erst sichtbar, wenn das Dokument gespeichert und neu geöffnet wird.

  • exakt

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

    • Offizieller Beitrag

    Willst Du es im FrontEnd oder im BackEnd einfügen?


    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

    • Offizieller Beitrag

    FrontEnd ... das Dokument ist offen (zum Lesen oder Editieren)
    BackEnd ... das Dokument ist nicht geöffnet


    Soll der Inhalt des eventuell bestehenden Body-Feldes bestehen bleiben oder soll er mit Deinem Feld ersetzt werden?


    Gruß
    Dirk

    • Offizieller Beitrag

    ja natürlich.


    Schau Dir mal die Klasse NotesRichTextItem an und dort die Methode AppendText.


    Und wenn das Dokument zum Bearbeiten geöffnet ist funktioniert es auch mit GetField, Copy und Paste aus der NotesUIDocument-Klasse.


    Gruß
    Dirk

  • hab jetzt noch ein problem.


    die aktion soll die Form Reply with history öffnen und darin den text im body feld hinzufügen.


    ich bekomm es aber irgend wie nicht hin die form reply with history zu öffnen.

  • Set notesUIDocument = notesUIWorkspace.ComposeDocument( [ server$ [, file$ [, form$ [, windowWidth# [, windowHeight# [, returnNotesUIDocument]]]]]] )


    Da kannst du dann angeben, welche Form du verwenden willst. Dann das Feld Body so setzen, wie Diali schon erwähnte.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

    • Offizieller Beitrag

    Versuchst Du gerade die Signatur nachzubauen?
    Warum so umständlich und nicht die von Notes verwenden?


    Gruß
    Dirk

  • Jup
    ich hab ne formel gebastelt die die signatur aus den personendaten die im Adressbuch stehen erstellt.


    bei memo und reply geht es ohnen probleme nur bei reply with history wird die signature unter die history gesetzt und die soll ober drüber

  • der script sieht jetzt so aus, sollte eigentlich passen oder?


    Bekomm aber wenn ich eine Reply erstellen will folgende Fehlermeldung:


    Variant does not contain an object





    Sub Click(Source As Button)
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = ws.CurrentDocument
    Set notesUIDocument = notesUIWorkspace.ComposeDocument( "","","Reply with history")
    Call uidoc.FieldAppendText("Body", uidoc.FieldGetText("MailcInfo"))
    End Sub

    • Offizieller Beitrag
    Zitat

    Dim ws As New NotesUIWorkspace
    Set notesUIDocument = notesUIWorkspace.ComposeDocument( "","","Reply with history")


    einmal nennst Du es ws und dann NotesUIWorkSpace.


    Änder in der 2. Zeile den NotesuiWorkSpace in ws.


    */edit
    betrifft auch uidoc und NotesUIDocument.


    */edit

    Zitat

    Set uidoc = ws.CurrentDocument
    Set notesUIDocument = notesUIWorkspace.ComposeDocument( "","","Reply with history")


    Äh??
    vorhandenes oder neues Dokument?


    Wahrscheinlich musst Du mit 2 NotesUIDocument-Objekten arbeiten.


    Gruß
    Dirk

  • hat jetzt soweit funktioniert schon mal danke.


    kann ich mit lotus script das body feld so definieren das der inhalt aus dem MailcInfo feld nach ganz oben im body feld gesetzt wird?
    Also sprich als Erstes?

    • Offizieller Beitrag

    mit Notes 6 gibt es BeginInsertund EndInsert in NotesRichTextItem. Damit sollte es gehen. Habe es aber noch nicht versucht.


    Gruß
    Dirk

  • Hey hab mal en bissel rum probiert.


    Hab jetzt folgenden Script. Krieg aber die Fehlermeldung Object Variable not set.


    Woran könnte das liegen?


    Danke


    Sub Click(Source As Button)

    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim rti As NotesRichTextItem
    Dim rtnav As NotesRichTextNavigator
    Dim doc As NotesDocument

    Set uidoc = ws.CurrentDocument
    Set uidoc = ws.ComposeDocument( "","","Reply With History")



    Set rtnav = rti.CreateNavigator
    rtnav.findFirstElement(RTELEM_TYPE_TEXTPARAGRAPH)
    Call rti.beginInsert(rtnav)
    Call uidoc.FieldAppendText("Body", uidoc.FieldGetText("MailcInfo"))
    Call rti.addNewLine(1)
    Call rti.endInsert



    End Sub