Domino 9 und frühere Versionen > ND9: Entwicklung
RichText Variable wird nicht überschrieben?
schroederk:
Der Text für Vorlage ist ein Richtext und kann so ziemlich alles enthalten, was möglich ist: Formatierte Texte, Bilder, Anhänge...
In der Vorschau soll dieser Inhalt der Vorgabe entsprechend korrekt formatiert angezeigt werden.
Lediglich die Platzhalter sollen ersetzt werden durch Inhalte aus dem jeweiligen Adressbuch-Dokument. I.d.R. werden es sicher Felder wie
FirstName, LastName, CompanyName usw. sein.
strVorlagentext verwende ich nur, damit ich die verwendeten Platzhalter über Regexp finde. Regexp verträgt imho kein RichText.
Sicherlich könnte ich hier auch GetUnformattedText verwenden, aber gewonnen habe ich dadurch nichts, wenn sich mit rtiVorlagentext auch das Item "Vorlagentext" des Dokuments ungewollt verändert.
Wäre es ein Ansatz, wenn ich ein neues Dummy-RichText-Feld zur Laufzeit im Dokument erzeuge, den Inhalt aus "Vorlagentext" kopiere und dieses Feld immer wieder zerstöre und neu erstelle?
schroederk:
Ich hab es jetzt mal mit dem Ansatz versucht und damit scheint es jetzt zu funktionieren:
--- Zitat ---...
Set rtiVorlagentext = doc.GetFirstItem("Vorlagentext")
Set qdoc = empflist.GetFirstDocument ' erster selektierter Adressbucheintrag
While Not ( qdoc Is Nothing ) ' Laufe durch alle selektierten Einträge
' für jeden Eintrag Original-Vorlage holen
Call doc.RemoveItem("dummyfield")
Set rtidummyfield = New NotesRichTextItem(doc, "dummyfield")
Call rtidummyfield.AddNewLine(1)
Call rtidummyfield.AppendRTItem(rtiVorlagentext)
strVorlagentext = rtidummyfield.GetFormattedText(False,False)
Messagebox strVorlagentext
...
Set rtnav = rtidummyfield.CreateNavigator
Set rtrange = rtidummyfield.CreateRange
Call rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH)
Call rtrange.SetBegin(rtnav)
If rtrange.FindAndReplace (m.Value, item.Text, RT_REPL_ALL + RT_FIND_CASEINSENSITIVE) > 0 Then
' Call rtiVorlagentext.Compact
End If
...
--- Ende Zitat ---
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln