Textbox Inhalt nach Einfügen formatieren

Betrifft: Textbox Inhalt nach Einfügen formatieren
von: Sergej
Geschrieben am: 17.10.2020 22:26:55
Hallo Leute,
ich muss sehr oft für eine Anwendung die Koordinate (XYZ) aus einer Datei in die Zwischenablage kopieren.
Die kopierte Zeile sieht beispielsweise so aus: 500231.74 -799.10 17844.00
In einem UserForm habe ich ein Textbox erstellt.
Wie bekomme ich es bitte hin, dass beim Einfügen des Textes aus der Zwischenablage in das TextBox1 der Gesamtinhalt von TextBox 1 so formatiert wird.
Fester Text "zoom in 4;xy=" vorne, danach zwischen kopierten Koordinaten die Leerzeichen durch Komma ersetzen und am Ende kommt nochmals fester Text ";rotate view drag"
Beispiel nachher TextBox1: zoom in 4;xy=500231.74,226.90,16577.48;rotate view drag
Beste Grüße,
Sergej

Betrifft: AW: Textbox Inhalt nach Einfügen formatieren
von: ralf_b
Geschrieben am: 17.10.2020 22:49:23
im textbox1_Change() Event oder vielleicht im afterupdate()
textbox1.text= "zoom in 4;xy=" & textbox1.text & ";rotate view drag"

Betrifft: AW: Textbox Inhalt nach Einfügen formatieren
von: Sergej
Geschrieben am: 17.10.2020 23:13:28
Hallo Ralf,
mit TextBox1_Change() hat es nicht funktioniert.
Ich habe wie von dir vorgeschlagen mit TextBox1_AfterUpdate getestet. Erst beim Klick auf CommandButton1 wird der Text in TextBox1 geändert. Damit kann ich leben, obwohl schön wäre es, wenn ich der Text im TextBox1 beim Einfügen aus der Zwischenablage sich ändern wird.
Das Ersetzen der Leerzeichen durch das Komma hat nicht funktioniert.
Private Sub TextBox1_AfterUpdate()
TextBox1.text = "zoom in 4;xy=" & TextBox1.text.Replace(" ", ",") & ";rotate view drag"
End Sub
Beste Grüße,
Sergej

Betrifft: AW: Textbox Inhalt nach Einfügen formatieren
von: ralf_b
Geschrieben am: 18.10.2020 11:18:33
moin, das Problem beim change-Event ist das es gleich nochmals auftritt wennman den modifizierten Text einfügt. Also müßte man das prüfen. Ich habe es umgebaut.
das hier oben in den codebereich des Userform
Dim bChange As Boolean
und das erklärt sich selbst
Private Sub TextBox1_Change()
Dim stext As String
If bChange = False Then
If TextBox1.Text Like "*.*-*.*" Then
bChange = True
stext = TextBox1.Text
TextBox1.Text = "zoom in 4;xy=" & Replace(stext, " ", ",") & ";rotate view drag"
End If
End If
End Sub

Betrifft: AW: Textbox Inhalt nach Einfügen formatieren
von: Sergej
Geschrieben am: 18.10.2020 11:43:10
Hallo Ralf,
vielen herzlichen Dank! Es funktioniert perfekt.
Beste Grüße,
Sergej

Betrifft: freut mich ,danke für die Rückmeldung owT
von: ralf_b
Geschrieben am: 18.10.2020 11:51:33
Beiträge aus dem Excel-Forum zum Thema "Textbox Inhalt nach Einfügen formatieren"