Domino 9 und frühere Versionen > ND6: Entwicklung
Link in Richtextfeld einfügen
DannyCrown:
Hallo Leute,
habe mal eine kleine Frage. Ich habe ein Profildokument und habe dort E-Mail Vorlagen gespeichert. Diese Vorlage möchte ich nun in einer Mail ins RichTextFeld Body schreiben. In dieser Vorlage stehen Variablen die ich über replace vorm senden ändere. Nur mitten in dieser Vorlage sollte ein Link zu einer Ansicht stehen. Dieser ist im Profildokument auch als Variable gespeichert. Weiß jemand wie man diesen link dann schön in das RTFeld schreiben kann? Hier mal ein kleiner Code-Schnipsel:
--- Code: --- If HV Then
strBody = profdoc.GetItemValue("Erinnerungsmail1")(0)
Else
strBody = profdoc.GetItemValue("Erinnerungsmail2")(0)
End If
strbody = Replace(strbody, "%1",anrede)
strbody = Replace(strbody, "%2",kalendertermin)
Call rtitem.AppendText(Left(strBody, Instr(strBody,"%8") - 1))
Call rtitem.AppendDocLink(vw, "Link")
Call rtitem.AppendText(Right(strBody,Instr(strBody,"%8")))
--- Ende Code ---
Das mit dem Left und Right klappt allerdings nicht so wie erwünscht. Vielen Dank schonmal im vorraus
DAU-in:
a) wie soll es denn funktionieren?
b) wie funktioniert es denn aktuell?
DannyCrown:
also der User kann in einem Profildokument e-Mail Vorlagen ändern. Dort kann er Variablen eingeben wie z.B. "%1" für die Anrede eines Benutzers oder "%6" für einen Link zu einer bestimmten Ansicht. Bei den Strings ist es ja kein Problem diese zu ersetzen, nämlich einfach mit replace, aber Links kann man ja so nicht einfach anhängen. Deshalb meine Frage, ob dies irgendwie möglich ist. Oder muss man dann einfach den kompletten linken Teil der Vorlage bis "%6" abschneiden, das zum richtextfeld hinzufügen, dann den Link hinzufügen und dann den rechten Teil ab "%6" hinzufügen?
habs jetzt gelöst. Hatte irgendwie nen Gedankenfehler muss natürlich nicht right nehmen, sondern mid
--- Code: --- Call rtitem.AppendText(Left(strBody, Instr(strBody,"%8") - 1))
Call rtitem.AppendDocLink(vw, "Ansicht")
Call rtitem.AppendText(Mid(strBody, Instr(strBody,"%8") + 2))
--- Ende Code ---
Danke trotzdem!
DannyCrown:
Ähm doch noch nicht ganz gelöst, habe da noch ne frage.
Kann ich irgendwie mit nem RichtextNavigator oder mit der RichTextRange Klasse den strBody durchlaufen, an die Stelle springen, an der der Platzhalter "%8" steht, dann dort einen Link einfügen und dann den normalen Text weiter einfügen? Durchsuche schon den ganzen Morgen das Forum, aber so wirklich blicke ich da noch nicht durch. Danke!
HH:
Hallo Daniel,
hier mal ein Code-Schnipsel. Vielleicht kannst du damit etwas anfangen:
--- Code: --- If Not linkObject Is Nothing Then
Set rtnav = rtitem.CreateNavigator
Set range = rtitem.CreateRange
If rtnav.FindFirstString( "<<Link>>" ) Then
Call rtitem.BeginInsert( rtnav )
Call rtitem.AppendDocLink( linkObject, "Verknüpfung" )
Call rtitem.EndInsert
Call rtnav.FindFirstString( "<<Link>>" )
Call range.SetBegin( rtnav )
Call range.SetEnd( rtnav )
Call range.FindandReplace( "<<Link>>", Chr(10), RT_REPL_ALL )
End If
End If
Call rtitem.Update
--- Ende Code ---
Hubert
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln