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"