Domino 9 und frühere Versionen > ND8: Entwicklung
Richtext-Feld bearbeiten im FrontEnd..
Driri:
Du mußt das temporär im Backend erzeugte NotesDocument-Objekt an EditDocument übergeben. Dann wird Dir das auch im Frontend geöffnet.
Was ich vergessen habe, Du mußt im Backend-Dokument das Item "Form" mit dem Namen der Maske befüllen.
debaser:
ok..
Also so weit ist jetzt mal mein Code:
--- Code: ---Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim uiws As New NotesUIWorkspace
Dim docIn As NotesDocument
Dim docOut As NotesDocument
Dim uidoc As notesuidocument
Dim bodyOut As NotesRichTextItem
Dim bodyIn As NotesRichTextItem
Dim tmp As NotesRichTextItem
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set docIn = collection.GetFirstDocument
Set bodyIn = docIn.GetFirstItem("Body")
Set bodyOut = New NotesRichTextItem(docIn, "bodyOut")
bodyOut.AppendText("Ursprüngliche Nachricht"+Chr(10))
Call bodyOut.AppendRTItem(bodyIn)
Set docOut = New NotesDocument(db)
docOut.form = "Outgoing"
Call docOut.ReplaceItemValue("Body", bodyOut)
Call docOut.Save(False, False)
Call uiws.EditDocument(True,docOut,False)
End Sub
--- Ende Code ---
Es erscheint jetzt auch die richtige Maske, allerdings leer. Wie krieg ich das Body Item da rein ? :(
Mir fehlt einfach sowas wie "docOut.setItem("Body",bodyOut)"..
Text einzufügen klappt natürlich, nur bei Richtext streikts wieder..
Peter Klett:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim uiws As New NotesUIWorkspace
Dim docIn As NotesDocument
Dim docOut As NotesDocument
Dim uidoc As notesuidocument
Dim bodyOut As NotesRichTextItem
Dim bodyIn As NotesRichTextItem
Dim tmp As NotesRichTextItem
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set docIn = collection.GetFirstDocument
Set bodyIn = docIn.GetFirstItem("Body")
Set bodyOut = New NotesRichTextItem(docIn, "bodyOut")
bodyOut.AppendText("Ursprüngliche Nachricht"+Chr(10))
Call bodyOut.AppendRTItem(bodyIn)
Set docOut = New NotesDocument(db)
docOut.form = "Outgoing" "Memo" ???
Set bodyOut = New NotesRichTextItem(docOut, "bodyOut") ???
Call bodyOut.AppendText("Ursprüngliche Nachricht"+Chr(10))
Call bodyOut.AppendRTItem(bodyIn)
Call docOut.ReplaceItemValue("Body", bodyOut)
Call docOut.Save(False, False)
Call uiws.EditDocument(True,docOut,False)
End Sub
NACHTRAG: Ich habe keine Ahnung, mit was für einer Datenbank Du da rumbastelst. Falls es die Maildatenbank ist, heißt das Richtextfeld "Body" und die Form wird wohl eher ein "Memo" sein.
NACHTRAG 2:
statt: Call bodyOut.AppendText("Ursprüngliche Nachricht"+Chr(10))
ist besser: Call bodyOut.AppendText("Ursprüngliche Nachricht"&Chr(10))
oder bei RT ganz sauber:
Call bodyOut.AppendText("Ursprüngliche Nachricht")
Call bodyOut.AddNewLine (1)
Die Erklärung dazu findest Du hier in etlichen Beiträgen
debaser:
yeeeah, funktioniert :)
Hast recht Peter, das Feld heißt 'body', aber die Form heißt tatsächlich 'Outgoing' (warum auch immer)
In der Datenbank steckt auch alles mögliche an Kundendokumenten drin, von dem her wird das wohl keine Maildatenbank sein.. vermut ich mal.
Ich hoff ich komm in die Thematik noch besser rein, hab noch mehr Notes-Geschichten auf meiner ToDo Liste ;)
Hab natürlich gleich die 'bessere' Variante eingebaut.. wenn man schonmal dabei ist.
Jetzt muss ich nur noch ein paar andere Felder, welche vorher über Formel gefüllt wurden, über das Skript befüllen und dann kann ich das hoffenltich abhaken.
Vielen dank für eure Hilfe, wirklich klasse wie schnell und kompetent einem hier geholfen wird :)
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln