Domino 9 und frühere Versionen > ND6: Entwicklung

Mit GetSelectedText Text verändern: Was machen bei doppelt vorkommenden Wörtern?

(1/1)

Schnubbel:
Moin,

folgender Fall:

In einer Maske ist ein Textfeld und über die Aktionsleiste gibt es die Möglichkeit den Text in dem Textfeld zu verändern.

Bsp:
Der Text im Textfeld lautet:

Für das erste minderjährige anspruchsberechtigte Schulkind einer Familie sind monatlich 11,20 € und
für das zweite anspruchberechtigte minderjährige Schulkind einer Familie sind monatlich 6,00 € zu zahlen.

Nun markiert man z.B. das Wort "Schulkind"im Satz (für das zweite anspruchberechtigte minderjährige Schulkind einer Familie sind monatlich 6,00 € zu zahlen.). Vor und nach diesem Wort soll nun etwas eingefügt werden. Das Problem ist, dass ja zuvor in dem Text bereits einmal Schulkind steht und daher mit meinem bisherigen Code das erste Schulkind verändert wird.

   
--- Code: ---        Dim ws As New Notesuiworkspace
Dim uidoc As NotesUIDocument
Dim SText As String
Dim Text As String

Set uidoc = ws.CurrentDocument
SText = uidoc.GetSelectedText("Textbausteintext")
Text = uidoc.FieldGetText("Textbausteintext")
If Text ="" Then
Msgbox "Fehler: Kein Text markiert!"
Exit Sub
End If

Text = Left(Text,Instr(Text,SText)-1) & { </fett*>} & Fulltrim(SText) & {<*fett/> }  & Right(Text,Len(Text)-(Instr(Text,SText) - 1 + Len(SText)))

Call uidoc.FieldSetText("Textbausteintext",Text)
--- Ende Code ---

Gibt es eine Möglichkeit die Position der Markierung noch über etwas anderes als GetSelectedText zu bestimmten? Oder hat jmd eine andere Idee? Vielen Dank schonmal.

Thorsten

it898ur:
Hallo Thorsten,

die gesuchte Funktion heißt uidoc.InsertText() und könnte bei Dir in etwa so eingesetzt werden:


--- Code: --- Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument

Dim tmp As String

Set uidoc = ws.CurrentDocument

tmp = uidoc.GetSelectedText("")

Call uidoc.InsertText(" ********* " + tmp + " ************ ")

--- Ende Code ---

Die Sternchen musst Du natürlich noch anpassen - aber damit wird der aktuell markierte Bereich mit dem neuen Text überschrieben.

Gruß

André

Schnubbel:
Danke schon @ André.
Das war genau das was ich gebraucht hab! :D

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln