Domino 9 und frühere Versionen > ND6: Entwicklung
Setzen eines RT-Feldes in einem anderen Dokument
Thomas Schulte:
Weil Richtextfelder wenn sie im Hintergrund verändert werden im Vordergrund nicht angezeigt werden.
Du setzt hier:
//ein neues Dokument derselben Form erzeugen
Set uidocNeu = ws.ComposeDocument(,,"FormName")
ein neues Dokument das du in den Vordergrund holst und erzeugst hier:
//im neu erzeugten Dokument den Inhalt in das Rich-Text-Feld kopieren
Call docNeu.ReplaceItemValue("Feld-Name", pointValue)
dein neues RTFeld bzw füllst es mit Werten. Jetzt musst du erst das neue Dokument abspeichern und dann erneut anzeigen. Dann wirst du auch den Inhalt deines alten RTFeldes im neuen Dokument sehen können. Vorher nicht.
Thomas
koehlerbv:
Vorab: Bei dem Code ist bestimmt Optioon Declare nicht gesetzt, da docNeu nicht angemeckert wird.Und: Warum ist das RTF im 2. Dokument überhaupt rich text, wenn Text eingesetzt wird ?
Ich würde das neue Dokument erst im Backend erzeugen und dann erst mit NotesUIWorkspace.EditDocument im FrontEnd öffnen.
Alternativ kann das ganze aber auch rein im FrontEnd gemacht werden, in dem man mit den Methoden des NotesUIDocuments
- ins RTF (alt) geht
- den Inhalt markiert
- den Inhalt in die Zwischenablage kopiert
- das neue UIDoc erzeugt
- ins RTF (neu) geht
- und dort die Zwischenablage wieder einfügt.
Bernhard
haeppchen:
@Axel:
ich habe nur das docAlt gespeichert, um auf das Rich-Text-Feld zugreifen zu können
@koehlerbv
Das RTF im 2.dokument soll wie auch das RTF im ersten Dokument Rich-Text sein (Vorgabe). Werde deinen vorschlag mal in die Tat umsetzten und das mit den von dir vorgesclagenen Frontend-Operationen versuchen.
Simon
Glombi:
Es geht wohl einfacher mit
Dim ws As New NotesUIWorkspace
Dim uidocAlt, uidocNeu As NotesUIDocument
Dim rtItem As NotesRichTextItem
Dim pointValue As String
Set uidocAlt = ws.CurrentDocument
//ein neues Dokument derselben Form erzeugen
Set uidocNeu = ws.ComposeDocument(,,"FormName")
//altes Dokument speichern, um auf Rich-Text-Feld zugreifen zu können
Call uidocAlt.save
Set rtItem = docAlt.GetFirstItem("Feld-Name")
pointValue = rtItem.GetUnformattedText()
//im neu erzeugten Dokument den Inhalt in das Rich-Text-Feld kopieren
call uidocNeu.GotoField("Feld-Name")
call uidocNeu.InsertText( pointValue )
Andreas
Axel:
--- Zitat von: haeppchen am 27.01.05 - 16:13:55 ---@Axel:
ich habe nur das docAlt gespeichert, um auf das Rich-Text-Feld zugreifen zu können
--- Ende Zitat ---
Siehe dazu Antwort#5 von Thomas Schulte.
Da findest du die Erklärung warums nicht geht.
Axel
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln