Hallo,
wie kann man den Inhalt einer mehrzeiligen Textbox verändern,
z.B. Zeilen löschen und verschieben.
Danke
Gruß
Gunter
Hallo,
wie kann man den Inhalt einer mehrzeiligen Textbox verändern,
z.B. Zeilen löschen und verschieben.
Danke
Gruß
Gunter
Hallo,
wie kann man den Inhalt einer mehrzeiligen Textbox verändern,
z.B. Zeilen löschen und verschieben.
am Besten den gesamten Text in einen String laden, mit
Arr = Split(txt,VbCrLf)
die Zeilen in ein Array schieben, bearbeiten, mit Join wieder zusammenfügen und zurück schreiben.
Gruß, Rainer
Hallo,
Hi,
wie kann man den Inhalt einer mehrzeiligen Textbox verändern,
z.B. Zeilen löschen und verschieben.
Ich würde das jetzt mit Split(Text1, Chr(10)) versuchen. Also z. B. so:
Eine TextBox und ein Button auf die Form
Option Explicit
Private Sub Command1\_Click()
Dim TextZeilen As Variant
TextZeilen = Split(Text1, Chr(10))
'zum Test jede zweite Zeile löschen
Text1 = ""
Dim i As Integer
For i = 0 To UBound(TextZeilen) Step 2
Text1 = Text1 & TextZeilen(i) & Chr(10)
Next i
End Sub
Danke
Gruß
Gunter
Gruß Simon
Mist, da war jemand schneller als ich…
…aber maximal 59 Sekunden xD
Inhalt einer Textbox ändern (Gunter, 1.2.2008 15:06)
\* [new]Re: Inhalt einer Textbox ändern (Simon, 1.2.2008 **15:20** )
\* [new]Re: Inhalt einer Textbox ändern (Rainer Fischer, 1.2.2008 **15:20** )
Hi Simon,
Ich würde das jetzt mit Split(Text1, Chr(10)) versuchen.
Du scheinst Linux geschädigt zu sein.
In Windows werden die Zeilen nicht nur durch CR getrennt, da fehlt noch Linefeed. VB hat dafür die Konstante VbCrLf.
Gruß, Rainer
Hi Simon,
aber mit (fast) identischem Text!
Gruß, Rainer
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Rainer
Du scheinst Linux geschädigt zu sein.
Mhm nein, viel schlimmer würde ich sagen: Vista verseucht, ich hatte nie wirklich Linux…
In Windows werden die Zeilen nicht nur durch CR getrennt, da
fehlt noch Linefeed. VB hat dafür die Konstante VbCrLf.
Okay das wusste ich nicht. Ich habe auch sonst immer Chr(10) & Chr(13) geschrieben, bis ich gemerkt habe, dass es auch ohne 13 geht. Ich nehm ab jetzt wohl auch VbCrLf.
Gruß, Rainer
Gruß, Simon
Hallo zusammen,
funktioniert bestens.
Vielen Dank.
Gruß
Gunter
Hi Gunter,
funktioniert bestens.
das freut mich, zeig doch mal den Code. Eventuell haben wir ja noch ein paar Tipps.
Gruß, Rainer
Hi Rainer,
mein Coding sieht jetzt so aus:
arr = Split(Clipboard.GetText, vbCrLf)
For i = 0 To UBound(arr)
If Trim(arr(i)) „“ Then
text(j) = arr(i)
j = j + 1
End If
Next i
If j > 0 Then
For i = 0 To j - 1
If NumbersOnly(Left(text(i + 1), 2)) = True And _
NumbersOnly(Mid(text(i + 1), 4, 2)) = True And _
NumbersOnly(Mid(text(i + 1), 7, 4)) = True Then
text_neu(m) = text(i + 1) & " " & text(i)
m = m + 1
End If
Next i
If m > 0 Then
Text1.text = Join(text_neu, vbCrLf)
End If
End If
Man könnte dies sicher auch in einer Schleife erledigen, war halt quick and dirty
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi Gunter,
für mich sieht das gut aus, ohne daß Du Probleme hast, habe ich keine weiteren Tipps.
Gruß, Rainer