Domino 9 und frühere Versionen > ND7: Entwicklung
Mustertext (RichText) aus Vorlage in aktuelles Dokument kopieren
Keydins:
Hallo zusammen,
ich hab ein kleines Problem mit einem Schalter, der mir aus einem auswählbaren Vorlagendokument den Inhalt eines RichText-Feldes in mein aktuell geöffnetes Dokument (neu, nicht gespeichert) kopieren soll. Leider bin ich kein Script-Profi und sehe den vermutlich offensichtlichen Irrtum nicht. :)
Ich habe es mit folgendem Code versucht:
--- Code: ---Sub Click(Source As Button)
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim db As NotesDatabase
Dim doctext As NotesDocument 'Quelle des Richtextfelds
Dim uidoc As NotesUIDocument
Dim docantwort As NotesDocument
Dim view As NotesView
Dim rtitem_Source As NotesRichTextItem
Dim rtitem As NotesRichTextItem
Dim pickView As String
Dim picklist As Variant
Dim messagelist As String
Set db = session.CurrentDatabase
Set view = db.GetView( "Textblöcke" )
pickView = "Textblöcke"
Set uidoc = workspace.CurrentDocument
Set docantwort = uidoc.Document
picklist = workspace.PickListStrings( _
PICKLIST_CUSTOM, _
False, _
db.Server, _
db.FilePath, _
pickView, _
"Mustertext wählen", _
"Bitte den gewünschten Mustertext auswählen", _
4)
Forall plist In picklist
messagelist = messagelist & plist & Chr(10)
End Forall
Set doctext = view.GetDocumentByKey( Trim(messagelist) )
Set rtitem_Source = doctext.GetFirstItem( "TB_RTBody" )
'Set rtitem = rtitem_Source.CopyItemToDocument( docantwort, "TB_Body")
Call docantwort.CopyItem( rtitem_Source, "TB_Body" )
Call uidoc.Refresh
Call uidoc.Save
Call uidoc.Reload
End Sub
--- Ende Code ---
Leider bleibt mein Anzeigefeld für den hineinkopierten Mustertext leer, obwohl das Script ohne Fehlermeldung durchläuft und ich im Debuger auch sehe, dass den beiden rtItems die im Mustertext hinterlegten Inhalte zugewiesen werden.
Ich mache also was falsch und wäre für einen Schubs in die richtige Richtung dankbar.
klaussal:
Nimm einfach die DB "PasteInformation" (mal nach suchen) und gut ist.
koehlerbv:
Oder Schubs in die richtige Richtung:
- Vorlagendokument öffnen (EditMode!)
- GotoField
- SelectAll
- Copy
- Vorlagendokument schliessen
- Fokus ist jetzt wieder auf dem Zieldokument
- GotoField
- Paste
Wenn man keinen 486-25SX hat, dann sieht man nicht mal ein flackern.
HTH,
Bernhard
Keydins:
Ok, danke für die Tips. Ich setze das dann erstmal klassisch per Formelsprache um.
Nur so aus Interesse: Läßt sich die gewünschte Funktionalität per LS generell nur schwierig umsetzen?
In der Designerhilfe sind einige Beispiele zum Kopieren von RTItems aufgeführt, wobei dort das neue Dokument meist direkt über LS erzeugt wird, wärend es bei mir schon im Client geöffnet ist. Von daher liegt mein Problem wohl bei der Interaktion Frontend <-> Backend.
Thomas Schulte:
Der Richtext ist ein seltsam Ding ...
Der möchte nämlich wenn er im Frontend erscheinen soll und vorher kopiert wurde gerne das das Dokument in dem er Erscheinen soll erst einmal komplett von der Bildfläche verschwindet. Also uidoc.Close und dann wieder öffnen.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln