Hallo Franz,
Wenn man doc.Feldname verwendet, wird ein Array zurückgeliefert. Bei deinem Beispiel bedeutet das, das ein Array mit einem String verglichen wird und das liefert die "Type mismatch"-Fehlermeldung zurück. Da hättest du also mindestens noch "(0)" dahinter hängen müssen, damit das überhaupt funktioniert könnte.
Das eigentliche Problem ist, das du mit dem Item vom Typ NotesRichTextItem arbeitest (dein "rtitem"). Da kommt auch ein "Type mismatch" her.
Du musst ein NotesItem verwenden und dann den Type abfragen, so wie du es geschrieben hast. Dann kannst du auch das machen, was Markus geschrieben hat (entscheiden ob AppendRTItem oder AppendText genutzt wird).
Dim item As NotesItem
Set item = doc.GetFirstItem("Body")
If item.Type = 1 Then
' Richtext - AppendRTItem verwenden
... weiterer Code
Else
' kein Richtext - AppendText verwenden
... weiterer Code
End If
MFG
ERR
Hallo,
du musst mit dem NotesItem arbeiten. Ich hätte auch noch schreiben müssen "es kommt normalerweise ein Array zurück, außer bei z.B. RichText..." ::)
If item.Type = 1 Then
' Richtext - AppendRTItem verwenden
' item ist ein RICHTEXT, also AppendRTItem
Call rtitem2.AppendRTItem(item)
Else
' kein Richtext - AppendText verwenden
' item ist kein RICHTEXT, also AppendText
Call rtitem2.AppendText(item.Text)
End If
Anhand des Item.Type wird geprüft, wie es weiter gehen soll. Bei RichText mit AppendRTItem, bei Text mit AppendText. Da brauchst du dann keine Prüfung des Body-Feldes mit .
MFG
ERR
' Als erstes den Body prüfen
Set item = doc.GetFirstItem("Body")
If item.Text = "" Then
' kein Text in Body
Set item = doc.GetFirstItem("Bemerkung")
End If
' dann den Type des item prüfen
If item.Type = 1 Then
' Richtext - AppendRTItem verwenden
' item ist ein RICHTEXT, also AppendRTItem
Call rtitem2.AppendRTItem(item)
Else
' kein Richtext - AppendText verwenden
' item ist kein RICHTEXT, also AppendText
Call rtitem2.AppendText(item.Text)
End If
MFG
ERR