Dateiname aus einem String in Excel auslesen
Schritt-für-Schritt-Anleitung
Um den Dateinamen aus einem vollständigen Pfad in Excel auszulesen, kannst Du verschiedene Methoden anwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
-
Variablen definieren: Lege eine Variable für den Pfad fest, z.B. strDateiname
.
Dim strDateiname As String
strDateiname = "C:\Test\temp\Dateiname.xls"
-
Dateinamen extrahieren: Nutze die InStrRev
Funktion, um die Position des letzten Backslashes zu finden und den Dateinamen zu extrahieren.
Dim datName As String
Dim l As Long
l = InStrRev(strDateiname, "\")
datName = Mid(strDateiname, l + 1) ' Mit Dateiendung
-
Optional: Dateiendung entfernen: Falls Du den Dateinamen ohne die Dateiendung benötigst, kannst Du dies wie folgt tun:
datName = Left(datName, Len(datName) - 4) ' Dateiendung abgeschnitten
-
Ergebnis anzeigen: Zeige den extrahierten Dateinamen in einer Meldung an.
MsgBox datName
Häufige Fehler und Lösungen
-
Fehler: "Typ nicht definiert"
Lösung: Stelle sicher, dass Du die Variablen korrekt deklariert hast und die richtigen Datentypen verwendest.
-
Fehler: InStrRev gibt einen Fehler zurück
Lösung: Achte darauf, dass der Pfad tatsächlich einen Backslash enthält. Andernfalls wird InStrRev
nicht die gewünschte Position finden.
Alternative Methoden
Eine weitere Methode zur Extraktion des Dateinamens ist die Verwendung der Split
-Funktion. Diese Variante funktioniert jedoch nicht mit Excel 97:
Dim parts() As String
parts = Split(strDateiname, "\")
MsgBox parts(UBound(parts)) ' Dies gibt den vollständigen Dateinamen aus
Praktische Beispiele
Hier sind zwei praktische Beispiele, die unterschiedliche Ansätze zur Extraktion des Dateinamens zeigen:
-
Verwendung von Right
und InStr
:
Dim a As String
a = "C:\Test\temp\Dateiname.xls"
While InStr(a, "\") > 0
a = Right(a, Len(a) - InStr(a, "\"))
Wend
MsgBox a
-
Verwendung von Mid
und InStrRev
:
Sub DateiName()
Dim a As String
a = "C:\Test\temp\Dateiname.xls"
Dim l As Long
l = InStrRev(a, "\")
MsgBox Mid(a, l + 1)
End Sub
Tipps für Profis
-
Nutze die Option Explicit
-Anweisung am Anfang Deiner Module, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler frühzeitig zu erkennen.
-
Experimentiere mit der Verwendung von benutzerdefinierten Funktionen, um die Dateinamen-Extraktion wiederverwendbar zu machen.
-
Überlege, wie Du Fehlerbehandlungsroutinen einbauen kannst, um sicherzustellen, dass Deine Prozeduren auch bei unerwarteten Eingaben stabil bleiben.
FAQ: Häufige Fragen
1. Kann ich diese Methoden auch in Excel 97 verwenden?
Ja, die Methoden mit InStr
funktionieren auch in Excel 97, während die Methoden mit Split
nicht unterstützt werden.
2. Gibt es eine einfache Möglichkeit, die Dateiendung zu ändern?
Ja, Du kannst die Left
-Funktion verwenden, um die Dateiendung zu entfernen, und dann den neuen Dateinamen mit der gewünschten Endung zusammenfügen.