Hallo Anton,
ich würde eine neue (Kopier-)Maske erstellen, in der (evtl. nur) das Richtextfeld enthalten ist. Das Richtextfeld in der Maske ist berechnet, Formel ist der eigene Feldname (z.B. Body).
In die Originalmaske kommt ein Button, der das Dokument schließt, im geschlossenen Dokument die Form auf die Kopiermaske ändert und dann das Dokument erneut nur lesend öffnet. Das Script könnte so aussehen (habe es gerade probiert, um nicht irgendwelchen Mist zu schreiben):
| Sub Click(Source As Button) |
| Dim workspace As New NotesUIWorkspace |
| Dim uidoc As NotesUIDocument |
| Set uidoc = workspace.CurrentDocument |
| Dim doc As NotesDocument |
| Set doc = uidoc.Document |
| Dim db As NotesDatabase |
| Set db = doc.ParentDatabase |
| Dim id As String |
| id = doc.UniversalID |
| Call uidoc.Close (True) |
| Delete doc |
| Set doc = db.GetDocumentByUnid (id) |
| doc.Form = "NameDerKopiermaske" |
| Call workspace.EditDocument (False, doc, True) |
| End Sub |
In dem dann geöffneten Dokument kann der Inhalt des Richtextfeldes beliebig kopiert werden. Da das Dokument nicht gespeichert werden kann (geöffnet mit ReadOnly), kann es auch keine Replizierkonflikte geben.
In dem Beispiel gehe ich von einem Dokument im Lesemodus aus, sollte das Dokument im Bearbeitenmodus sein, musst Du noch entsprechend darauf reagieren, z.B. das Dokument (nach Abfrage) zwingend speichern o.ä..
In der neuen Maske sollte noch ein Button eingebaut werden, der das Dokument wieder schließt und mit der alten Form wieder öffnet.
WICHTIG: Die Änderung der Maske in die Kopiermaske erfolgt im geschlossenen Dokument. Das Dokument wird NIEMALS mit der geänderten Maske gespeichert, alles passiert nur im Arbeitsspeicher.
EDIT: In der Kopiermaske gibt es natürlich KEINEN kontrollierten Abschnitt!