Hallo Zusammen!
Ich habe ein Problem mit einem RT-Feld und der Funktion NotesRichTextRange.FindAndReplace.
Kurz zum Hintergrund:
Ich habe eine NotesDocument mit 2 RT-Feldern. In diesen RT-Feldern habe ich Text mit Platzhaltern. Die Platzhalter sehen folgendermassen aus: [#OBJ#OBJITEM#]. Nun möchte ich diese Platzhalter mit Werten aus Objekten ersetzen.
Zunächst suche ich die Platzhalter im RT-Feld:
Function GetPlaceHolder(rtItem As NotesRichTextItem) As String
Dim rtNav As NotesRichTextNavigator
Dim rtRange As NotesRichTextRange
Dim sRetVal As String
Set rtNav = rtItem.CreateNavigator
Set rtRange = rtItem.CreateRange
sRetVal = ""
If rtNav.FindFirstString("[#") Then
Call rtRange.SetBegin(rtNav)
If (rtNav.FindFirstString("#]")) Then
Call rtRange.SetEnd(rtNav)
sRetVal = "[#"+ Mid(rtRange.TextRun,3) + "#]"
End If
End If
Set rtRange = Nothing
Set rtNav = Nothing
GetPlaceHolder = sRetVal
End Function
Hier ist dann auch schon das Problem. Die Funktion läuft tadellos in einem NotesClient 6.x. In Notes Client 8.0 läuft nix mehr richtig.
Der Inhalt des einen RT-Feld ist:
VersicherungCompany Name
Abteilung: [#CPY#CPYNAME1#]
Postfach xxxx
9001 St. Gallen
Tel.Nr. 0041 71 228 xx xx
Fax-Nr. 0041 71 228 xx xx
xxx@company.net
Normalerweise wäre der Result der Funktion:[#CPY#CPYNAME1#]
SetBegin(rtNav) verändert allerdings das rtItem und schneidet den Rest des Felds weg. Das dürfte nicht passieren.
Kennt jemand das Problem und kann mir dabei helfen?