Übergeordneter Ordner aus Pfad auslesen
Schritt-für-Schritt-Anleitung
Um den übergeordneten Ordner aus einem Pfad in Excel mittels VBA auszulesen, kannst du den folgenden Code verwenden:
Sub folder()
Dim strPath As String, strLastFolder As String
strPath = "D:\Tabellen\Programmierung\VBA"
strPath = IIf(Right(strPath, 1) = "\", Left(strPath, Len(strPath) - 1), strPath)
strLastFolder = Mid(strPath, InStrRev(strPath, "\") + 1)
MsgBox strLastFolder
End Sub
- Öffne den VBA-Editor: Drücke
ALT + F11
.
- Füge ein Modul hinzu: Klicke auf
Einfügen
> Modul
.
- Kopiere den obigen Code in das Modul.
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Starte das Makro: Drücke
ALT + F8
, wähle folder
und klicke auf Ausführen
.
Dieser Code speichert den Pfad in der Variable strPath
und verwendet die Funktion InStrRev
, um den übergeordneten Ordner aus dem Pfad auszulesen.
Häufige Fehler und Lösungen
-
Fehler: "Typ Mismatch"
Lösung: Stelle sicher, dass die Variable strPath
als String
deklariert ist.
-
Fehler: "Subscript out of range"
Lösung: Überprüfe, ob der Pfad korrekt und zugänglich ist.
Alternative Methoden
Eine alternative Methode, um den übergeordneten Ordner aus dem Pfad auszulesen, ist die Verwendung von Excel-Formeln:
- Verwende die Formel:
=RECHTS(A1;LÄNGE(A1)-FINDEN("~";WECHSELN(A1;"\";"~";(LÄNGE(A1)-LÄNGE(WECHSELN(A1;"\";""))))))
In dieser Formel wird angenommen, dass der Pfad in Zelle A1 steht.
Praktische Beispiele
Wenn du den Pfad "D:\Tabellen\Programmierung\VBA" verwendest, gibt der VBA-Code "VBA" als übergeordneten Ordner zurück.
Ein weiteres Beispiel könnte so aussehen:
- Pfad: "C:\Benutzer\Max\Dokumente\Projekte"
- Erwartete Ausgabe: "Projekte"
Tipps für Profis
- Verwende die
FileSystemObject
-Bibliothek: Damit kannst du noch flexibler mit Dateipfaden umgehen.
- Fehlerbehandlung: Füge Error-Handling zu deinem VBA-Code hinzu, um unerwartete Fehler abzufangen.
On Error Resume Next
' Dein Code hier
If Err.Number <> 0 Then
MsgBox "Ein Fehler ist aufgetreten."
End If
On Error GoTo 0
FAQ: Häufige Fragen
1. Wie kann ich den Pfad des aktiven Workbooks in VBA auslesen?
Du kannst den Pfad mit ThisWorkbook.Path
abrufen.
2. Was mache ich, wenn mein Pfad Leerzeichen enthält?
Der Code funktioniert unabhängig von Leerzeichen im Pfad. Es wird jedoch empfohlen, den Pfad in Anführungszeichen zu setzen, wenn du ihn manuell in den Code eingibst.
3. Kann ich das auch ohne VBA machen?
Ja, du kannst auch Excel-Formeln verwenden, um den übergeordneten Ordner zu extrahieren, wie im Abschnitt "Alternative Methoden" beschrieben.