Hallo @All,
folgendes Szenario:
es gibt in einem Dokument zwei RT Felde, ein davon ist bearbeitbar FeldA, zweite FeldB berechnet.
Per einen Button soll den ganzen Inhalt aus dem FeldA in das FeldB angehängt werden und danach soll das FeldA geleert werden.
Mit folgendem Code funktioniert das auch
Sub Click(Source As Button)
Dim ws As NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim rtitemA As Variant
Dim rtitemB As Variant
Dim s As NotesSession
Set s = New NotesSession
Dim user As String
user = s.UserName
Dim cName As String
cName = s.CommonUserName
tmpDatum= Format(Now, "Short Date")
tmpZeit = Format(Now, "Short Time")
tmpDatumZeit = tmpDatum & " " & tmpZeit
Dim DatumName As String
DatumName = tmpDatumZeit & " " & cName
Set ws = New NotesUIWorkspace
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set rtitemA = doc.GetFirstItem( "Anhaenge" )
Set rtitemB = doc.GetFirstItem( "Anhaenge_View" )
Call uidoc.Save
If ( rtitemA.Type = RICHTEXT And rtitemB.Type = RICHTEXT ) Then
Call rtitemB.AppendText(DatumName)
Call rtitemB.AddNewline(1)
Call rtitemB.AppendRTItem( rtitemA )
Call rtitemB.AddNewline(2)
Call doc.ReplaceItemValue("Anhaenge", "")
Call doc.save(False,False)
uidoc.document.SaveOptions ="0" 'keine Speicherabfrage
Call uidoc.Close
'Call ws.EditDocument(True, doc)
'doc.SaveOptions = "1"
End If
End Sub
Aber, nur wenn man zweite Mal auf den Button klickt. Beim ersten klick bekommt man die folgende Lotus Notes Mitteilung:
Falscher Datentyp in Methode RunStkCoerceVal...
und wenn man klickt OK und zweite mal auf den Button, dann wird den Code erfolgreich ausgeführt.
Wenn der Code per Debugger ausgeführt wird, kommt erst die Mitteilung "Type mismatch" bei der Zeile
Call rtitemB.AppendRTItem( rtitemA )
Nach dem Klick OK, Debugger stoppen und neun Start wird der Code erfolgreich ausgeführt.
Vielen Dank im Voraus für jede Hilfe
Grüße
Sofia