Wenn ich's richtig verstanden habe, dann existiert in der Maske, die zum Erstellen der Dokumente benutzt wird, ein RT-Feld namens "Ergebnis". In der gleichen Maske gibt es eine Schaltfläche, die das RT-Feld füllen soll. Also einfach folgenden Code in das Click-Event:
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.FieldAppendText( "Ergebnis", "Hallo1" )
Call uidoc.FieldAppendText( "Ergebnis", Chr(10) )
Call uidoc.FieldAppendText( "Ergebnis", "Hallo2" )
End Sub
Guten Morgen!
Das Problem ist gelöst. Danke allen, die daran beteiligt waren. Die Lösung war einfach: Neustart des Notesclients und es ist natürlich so, dass RT-Felder erst erkannt werden, wenn sie zuvor gespeichert werden :-\ Die Logik leuchtet mir zwar nicht ein, aber damit muß man wohl leben... Ich habe für andere Neulinge den kompletten Code einmal dokumentiert, vielleicht hülft das was:
Sub Click(Source As Button)
Dim Session As New NotesSession
Dim Workspace As New NotesUIWorkspace ' UI steht für UserInterface und meint immer das aktuell "Sichtbare"
Dim db As NotesDatabase
Dim curDoc As NotesUIDocument
Dim Doc As NotesDocument
Dim rtItem As Variant
Set db = Session.CurrentDatabase 'Die aktuell geöffnete Datenbank wird in der Variable db defininiert
Set curDoc = Workspace.CurrentDocument 'Das aktuelle Dokument wird zugeordnet
curDoc.Save 'Damit das Richtextfeld erkannt wird, muß vorher gespeichert werden.
Set Doc = curDoc.Document 'Das aktuell "sichtbare" Dokument wird wird an ein Hintergrunddokument übergeben
Set rtItem = Doc.GetFirstItem( "Ergebnis") 'Das Feld "Ergebnis" wird im "Hintergrund" einer Variablen zugeordnet
Call rtItem.AppendText( "Hallo1" ) 'Der Text "Hallo1" wird in dem Feld "Ergebnis" angehangen (im Hintergrund)
Call rtItem.AddNewLine (1) 'Zeilenumbruch
Call rtItem.AppendText( "Hallo2" )
Call Doc.Save (True, False) 'Das Hintergrunddokument wird gespeichert
Call curDoc.FieldSetText( "SaveOptions", "0" ) 'In das Feld "SaveOptions" wird eine "0" geschrieben, damit das Vordergrunddokument (UI)
'ohne Nachfrage geschlossen werden kann.**
Call curDoc.Close 'Das Vordergrunddokument wird ohne Speicherung geschlossen (eine Speicherung würde
'die Änderungen die zuvor im Hintergrund stattfanden wieder überschreiben)
Set curDoc = Workspace.EditDocument(False, doc) ' Das Hintergrunddokument (mit den Änderungen) wird in den Vordergrund geholt, so dass
' die Änderungen sichtbar werden
End Sub
Ich wünsche allen einen guten Rutsch ins Neue Jahr!
Grüße
Arne