04.07.2016, 10:14
Liebes Forum,
ich habe mich gestern reichlich abgemüht einen Code zu schreiben, der mir die Textauswahl in einer Textbox erleichtern soll. Meine Idee ist dabei, das der ausgewählte und markierte
Text in einer auf Mulitline eingestellten Textbox jeweils links und rechts dieser Auswahl bis zum vorigen bzw. nächsten Leerzeichen der betreffenden Wörter ergänzt wird.
Hier mein funktionierender viel zu stümperhafter Code:
Wie bekommt man so etwas besser hin?
ich habe mich gestern reichlich abgemüht einen Code zu schreiben, der mir die Textauswahl in einer Textbox erleichtern soll. Meine Idee ist dabei, das der ausgewählte und markierte
Text in einer auf Mulitline eingestellten Textbox jeweils links und rechts dieser Auswahl bis zum vorigen bzw. nächsten Leerzeichen der betreffenden Wörter ergänzt wird.
Hier mein funktionierender viel zu stümperhafter Code:
Code:
Sub CommandButton1_Click()
'Wortmarkierung ergänzen bis zum vorigen und nächsten Leerzeichen
Dim str As String, start As Integer, ende As Integer, zeile As Integer, länge As Integer
With TextBox1
.SetFocus
str = .Text
zeile = .CurLine
start = .selstart + zeile
länge = .sellength
ende = start + länge
End With
'Ersetzen
str = Replace(str, " vbNewline", " µ ")
'Markierungsende berechnen
Do While Not Mid(str, ende, 1) = " " And Not Mid(str, ende, 1) = Chr(10) And Not Mid(str, ende, 1) = Chr(13)
ende = ende + 1
If ende > Len(str) - 1 Then Exit Do
Loop
'Markierungsanfang berechnen
Do While Not Mid(str, start, 1) = " " And Not Mid(str, start, 1) = Chr(10) And Not Mid(str, start, 1) = Chr(13)
start = start - 1
If start = 0 Then Exit Do
Loop
With TextBox1
.SetFocus
.selstart = start - zeile
.sellength = ende - start - 1
End With
End Sub
Wie bekommt man so etwas besser hin?