Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Textbox Sonderzeichen

Textbox Sonderzeichen
16.08.2021 06:32:17
Peter
Guten Morgen,
ich gebe in eine Textbox einen Namen ein. Durch Drücken eines Button, wird dieser Name mit anderen Teil-Namen und Jahreszahl
zu einem Dateinamen verkettet.
Linker Namenteil in Textbox2 = beliebiger Name mit Gross- und Kleinschreibung, mit Leerzeichen aber keine Sonderzeichen
Mittlerer Namenteil in Textbox3 immer = _ab
Rechter Namenteil in Textbox4 = vierstellige Jahreszahl
Jetzt benötige ich eine Prüfung, dass der Name keine Sonderzeichen haben darf. Könnt ihr mir hierbei bitte helfen.
Gruss
Peter
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox Sonderzeichen
16.08.2021 08:01:12
Oberschlumpf
Hi Peter,

Sub sbTest
Dim lstrDateiname As String
lstrDateiname = Textbox2.Text & Textbox3.Text & Textbox4.Text
If fcMITSonderzeichen(lstrDateiname) = True Then
MsgBox "Dateiname enthält nicht erlaubte Sonderzeichen"
Exit Sub
End If
'ab hier dein Code zum Speichern mit lstrDateiname
End Sub
Function fcMITSonderzeichen(Byval dateiname As String) As Boolean
Dim lstrVergleich As String,liLen As Integer
lstrVergleich = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"
For liLen = 1 To Len(dateiname)
If Instr(lstrVergleich, Mid(dateiname, liLen, 1)) = 0 Then
fcMITSonderzeichen = True
Exit Function
End If
Next
End Function
An die Funktion wird dein Inhalt aus den Textboxen 2,3 + 4 übergeben
In der Funktion wird jedes einzelne Zeichen geprüft, ob es in der Variablen lstrVergleich enthalten ist - wenn JA = alles ok, wenn auch nur 1 Zeichen NICHT enthalten ist, wird die Funktion verlassen und es erscheint die obige MsgBox; auch die obige Sub wird danach sofort verlassen.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Textbox Sonderzeichen
16.08.2021 08:39:52
GerdL
Hi Thorsten,
ich reduziere die Anzahl der Vergleiche.

Sub sbTest_II()
Dim lstrDateiname As String
lstrDateiname = Textbox2.Text & Textbox3.Text & Textbox4.Text
If fcMITSonderzeichen_II(lstrDateiname) = True Then
MsgBox "Dateiname enthält nicht erlaubte Sonderzeichen"
Exit Sub
End If
'ab hier dein Code zum Speichern mit lstrDateiname
End Sub
Function fcMITSonderzeichen_II(ByVal dateiname As String) As Boolean
Dim lstrVergleich As String, liLen As Integer
lstrVergleich = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"
For liLen = 1 To Len(dateiname)
If InStr(lstrVergleich, Mid(UCase$(dateiname), liLen, 1)) = 0 Then
fcMITSonderzeichen_II = True
Exit Function
End If
Next
End Function
Gruß Gerd
Anzeige
AW: Textbox Sonderzeichen erledigt
16.08.2021 08:49:15
Peter
Hallo Thorsten,
besten Dank für Deine Hilfe.
Ich habe das leicht geändert. Funktioniert ebenfalls einwandfrei.
Wünsche noch einen schönen Tag.
Gruss
Peter
AW: Textbox Sonderzeichen
16.08.2021 08:58:27
Oberschlumpf
Hi Gerd,
ja, danke, an L- oder UCase hatte ich in dem Mom nich gedacht - so ist der INSTR-Vergleich 26 Zeichen schneller fertig :-)
Ciao
Thorsten
Anzeige
AW: Textbox Sonderzeichen erledigt
16.08.2021 08:42:42
Peter
Hallo Thorsten,
vielen Dank für Deine Hilfe.
Ich habe mich nicht ganz richtig ausgedrückt. Es soll nur die TextBox2 geprüft werden und hier muss ein Leerzeichen zugelassen sein.
Habe deine Funktion wie folgt geändert:

Private Sub CommandButton1_Click()
Dim lstrDateiname As String
'    lstrDateiname = TextBox2.Text & Textbox3.Text & Textbox4.Text
lstrDateiname = TextBox2.Text
If fcMITSonderzeichen(lstrDateiname) = True Then
MsgBox "Dateiname enthält nicht erlaubte Sonderzeichen"
Exit Sub
End If
'ab hier dein Code zum Speichern mit lstrDateiname
End Sub
Function fcMITSonderzeichen(ByVal dateiname As String) As Boolean
Dim lstrVergleich As String, liLen As Integer
'    lstrVergleich = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"
lstrVergleich = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "
For liLen = 1 To Len(dateiname)
If InStr(lstrVergleich, Mid(dateiname, liLen, 1)) = 0 Then
fcMITSonderzeichen = True
Exit Function
End If
Next
End Function
Funktioniert einwandfrei. Besten Dank nochmals und einen schönen Tag.
Gruss
Peter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige