Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1840to1844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

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
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

179 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige