Herbers Excel-Forum - das Archiv

Umwandlung/Prüfung String in Exceldatei

Bild

Betrifft: Umwandlung/Prüfung String in Exceldatei
von: MikeS

Geschrieben am: 17.03.2005 15:50:48
Hallo,
kennt jemand eine Prüfroutine, mit der ich die Namenskonventionen
für Excel-Dateinamen überprüfen kann?
Ich erhalte den String aus einem Textfeld, welches vom User gefüllt
wird. Ich ergänze dann das Datum und die Endung .xls.
Eingabe User: "Testdatei" Dateiname = "Testdatei_17032004.xls"
Ich möchte solche Zeichen wie - oder / usw. abfangen.
Vielen Dank.
MikeS
Bild

Betrifft: so geht's
von: Labossa

Geschrieben am: 17.03.2005 16:27:23
Sub forum2()
name1 = "xyt.rt-m/yetc."
'abfragen auf bestimmte Zeichen:
posx = InStr(name1, "-")
If posx > 0 Then MsgBox (name1 & vbCrLf _
& "falsches Zeichen: " & """ - """ & vbCrLf _
& "an Position: " & posx)
'etc., kann mann auch in eine Schleife packen und die Zeichen als Variablen
'weitergeben
'oder falsche Zeichen direkt löschen:
name2 = Replace(name1, "-", "")
End Sub

Bild

Betrifft: AW: so geht's
von: Frank Domke

Geschrieben am: 17.03.2005 16:44:33
Hallo Mike,
habe im Internet etwas gefunden und modifiziert. Leider habe ich keine weiteren Informationen zu RegExp gefunden, trotzdem es funktioniert.
Wichtig ist der Verweis auf Microsoft VBScript Regular Expression 5.5!
Probier es mal so:
Sub TestCheckFileName()
CheckFileName "ABCDE.DEF"
CheckFileName "\ABCDE.DEF"
End Sub

Function CheckFileName(strName As String) As Boolean
Dim oRegExp As RegExp
CheckFileName = False
Set oRegExp = New RegExp
oRegExp.Pattern = "[\\\/\:\*\?\" & Chr(34) & "\<\>\|]"
Set oMatches = oRegExp.Execute(strName)
If oMatches.Count = 0 Then
MsgBox "Dateiname i.O.!", vbInformation
CheckFileName = True
Else
MsgBox "Dateiname ist ungültig!", vbCritical
End If
End Function

Viel Erfolg
Frank.
Bild

Betrifft: AW: so geht's
von: MikeS

Geschrieben am: 17.03.2005 17:06:05
Ich danke Euch. Hab es mit ner Schleife wie folgt gelößt.
Private Sub txtDateiname_Change()
'  Nicht zulässige Zeichen im Dateinamen löschen:
'  "/", "\", ">", "<", "*", "?", """, "|", ":", ";"
Dim i%, Zeichen, Pos%, AlterDateiname$
Zeichen = Array("/", "\", ">", "<", "*", "?", "|", ":", ";")
With Me
AlterDateiname = Left(.txtDateiname.Text, Len(.txtDateiname.Text) - 1)
For i = 0 To 8
Pos = InStr(1, .txtDateiname.Text, Zeichen(i))
If Pos > 0 Then
.txtDateiname.Text = AlterDateiname
.lblDateiname.Caption = AlterDateiname & "_" & Date & ".xls"
Exit Sub
End If
Next i
If .txtDateiname.Text = "" Then
.lblDateiname.Caption = "Es wurde noch kein Dateinamen eingegeben!"
.lblDateiname.ForeColor = RGB(255, 0, 0)
Else
.lblDateiname.Caption = .txtDateiname.Text & "_" & Date & ".xls"
.lblDateiname.ForeColor = RGB(0, 0, 100)
End If
End With
End Sub

Ciao Mike
 Bild
Excel-Beispiele zum Thema "Umwandlung/Prüfung String in Exceldatei"
Nach Textimport Strings in Zahlen wandeln Textstring in berechenbare Formel umwandeln
Zahlenstring mit Formel auslesen und Fehlermeldung verhindern Wertermittlung in Abhängigkeit eines Zeichens in einem String
Sortierung mit Formel-Leerstrings am Ende Stringeingaben von HHMM und HHMMSS in Zeit wandeln
Aufteilen eines Strings mit Zeilenumbrüchen Aufhebung der Suchstringbegrenzung von 255 Zeichen
Strings, die wie Zahlen aussehen, in Zahlen umwandeln Aus einem String mit Datumsangabe das Jahr auslesen