Autor: Peter Haserodt --- Aus Excel VBA - Gruppe:
Häufige FragenDatei aus Pfad
Autor: Peter Haserodt - Erstellt: -- - Letzte Revision: --
Immer wieder gefragt: Wie erhalte ich den Dateinamen aus einem Pfad.
Nachfolgend Vorschläge (Es gibt viele Lösungsmöglichkeiten).
Die Varianten sind einmal für E97 und darüber und zum zweiten ab E2000 weil erst dort instrrev implementiert wurde.
Der optionale Parameter ist für die Möglichkeit, die Dateiendung wegzulassen.
Die Fehlerbehandlung überlasse ich Ihnen weitgehend aber dies sollte kein Problem sein.
Den reinen Pfad zu ermitteln - nun, dies ist dann auch ganz einfach - oder ?
' **************************************************************
' Modul: mdlDateien Typ = Allgemeines Modul
' **************************************************************
Option Explicit
Public Sub TestIt()
Dim sPfad As String
sPfad = "C:\test\eet.gg.st.xls"
MsgBox DateiAusPfadVBA5Plus(sPfad)
MsgBox DateiAusPfadVBA5Plus(sPfad, False)
'
'MsgBox DateiAusPfadVBA6Option(sPfad)
'MsgBox DateiAusPfadVBA6Option(sPfad, False)
End Sub
Private Function DateiAusPfadVBA5Plus(ByVal DerPfad As String, _
Optional MitEndung = True)
Dim iLast As Integer, iPos As Integer
'Peter Haserodt
'Ab E97 möglich
iPos = InStr(1, DerPfad, "\")
If iPos = 0 Then Exit Function
Do
iLast = iPos
iPos = InStr(iPos + 1, DerPfad, "\")
Loop Until iPos = 0
DateiAusPfadVBA5Plus = Mid(DerPfad, iLast + 1)
If Not MitEndung Then
iPos = InStr(1, DateiAusPfadVBA5Plus, ".")
If iPos = 0 Then Exit Function
Do
iLast = iPos
iPos = InStr(iPos + 1, DateiAusPfadVBA5Plus, ".")
Loop Until iPos = 0
DateiAusPfadVBA5Plus = Left(DateiAusPfadVBA5Plus, iLast - 1)
End If
End Function
Private Function DateiAusPfadVBA6Option(ByVal DerPfad As String, _
Optional MitEndung = True)
'Peter Haserodt
' Ab Excel 2000 möglich
On Error GoTo NoNo ' Lazy - Sollte man eigentlich prüfen - überlasse ich dem Leser
DateiAusPfadVBA6Option = Mid(DerPfad, InStrRev(DerPfad, "\") + 1)
If Not MitEndung Then
DateiAusPfadVBA6Option = _
Left(DateiAusPfadVBA6Option, InStrRev(DateiAusPfadVBA6Option, ".") - 1)
End If
Exit Function
NoNo:
DateiAusPfadVBA6Option = ""
End Function
Weitere Artikel der Gruppe: Häufige Fragen Aus Excel VBA
Nach oben