Guten Morgen Remo und Bernhard,
erstmal Dank für eure Rückmeldungen gestern (da war Hektik im Schuppen) und heute morgen schon wieder.
Letztlich hat mich Bernhards Frage auf den richtigen Weg gebracht. Das Dokument wird schon gespeichert, aber erst nach dieser Aktion, wenn die Dialogbox wieder verlassen wird.
Wenn ich es recht verstehe, funktioniert das mit dem AppendRTItem etwas anders als mit dem AppendText, den dieser wurde auch schon vor dem Speichern übergeben.
Da ich den Code aber weiterhin wegen der Übersichtlichkeit gerne im Queryclose der Dialogbox lassen würde, habe ich ihn wie unten angehängt geändert, was nun funktioniert. Den Hinweis auf diese Lösungsmöglichkeit habe ich aus einem anderen Thread hier im Forum gesehen. Bernhard, du schienst in diesem Thread nicht so ganz überzeugt davon zu sein, aber mir scheint es so als ob es funktioniert.
Vielleicht kurz nochmal meine Frage: Kann sich jemand vorstellen, warum der Debugger, wenn ich in eine Maske in einer Dialogbox verzeige, den Code dort nicht anzeigt? Ist das ein Bug oder ein Feature, das ich nicht verstehe?
So, und nun werd ich meine Maske noch etwas anpassen, und dann kommt das nächste Highlight dran: Mail abholen und in eine Maske packen, also der umgekehrte Weg. Ich denke, wir werden voneinander hören
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Dim session As New notessession
Dim db As NotesDatabase
Dim rtitem As NotesRichTextItem
Dim ws As New notesuiworkspace
Dim uidoc As NotesUIDocument
Dim rtitem2 As NotesRichTextItem
Dim aktdoc As NotesDocument
'Erstmal refreshen, damit alles ins Backend kommt.
Call source.refresh(True)
Set aktdoc = source.Document
'Inhalte holen
Set rtitem2 = aktdoc.GetFirstItem ("Textinhalt" )
Set db = session.CurrentDatabase
Dim altdoc As Notesdocument
Set altdoc = db.GetDocumentByUNID(source.fieldgettext("HDokumentID"))
'Abfrage, ob der OK oder der Abbruchknopf gedrückt wurde
If Not Source.DialogBoxCanceled Then
'Neues Dokument vorbereiten, mit den Inhalten für Empfänger, Betreff, Text ....
Set doc = New NotesDocument(db)
With doc
.Form = "Memo"
.SendTo = source.fieldgettext("Empfaenger")
.Subject = source.fieldgettext("Meldungsart")+" - Servicefall "+source.fieldgettext("Servicenummer")
End With
'Ein Richtextitem wird erstellt für den Body, inkl. Link
Set rtitem = New NotesRichTextItem( doc, "Body" )
Call rtitem.AppendText ("HINWEIS: Bitte antworten Sie nicht direkt auf diese Mail sondern geben Sie eine evtl. Rückantwort im Servicefall ein."+Chr$(10)+"Bitte verwenden Sie dazu diesen Link -> ")
Call rtitem.AppendDocLink( altdoc, "Link zum Servicefall " + source.fieldgettext("Servicenummer"))
Call rtitem.AddNewLine( 2 )
Call rtitem.AppendText (source.fieldgettext("Anrede"))
Call rtitem.AddNewLine( 2)
Call rtitem.AppendRTItem(rtitem2)
Call rtitem.AddNewLine( 2 )
Call rtitem.AppendText (source.fieldgettext("Abschluss"))
Call rtitem2.Remove
Call doc.Send(False)
End If
End Sub