Umwandlung/Prüfung String in Exceldatei

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
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

Beiträge aus den Excel-Beispielen zum Thema "Umwandlung/Prüfung String in Exceldatei"