wie kann man (per VBA) den Pfad des übergeordneten Ordners definieren?
Ich habe folgendes ohne Erfolg probiert:
Pfad = ThisWorkbook.Parent.Path
Danke
Heinz
Pfad = ThisWorkbook.Parent.Path
Danke
Heinz
ohne eine eigene Funktion geht das so:
pfad = ThisWorkbook.Path
ChDrive (Left(pfad, 2))
ChDir (pfad)
ChDir ("..")
pfad = CurDir(Left(pfad, 2))
Als Funktion so:
Function IstUnterOrdnerVon(Pfad As String) As String
Dim i As Integer
For i = Len(Pfad) To 3 Step -1
If Mid(Pfad, i, 1) = "\" Then
IstUnterOrdnerVon = Left(Pfad, i - 1)
Exit Function
End If
Next
End Function
Gruß Coach
Excel-Datei = C:\Programme\Excel\Test.xls
Übergeordneter Ordner = C:\Programme\Excel\
???
Das ist recht einfach:
Jetzt musst du nur der Variable Dateipfad vorher den Pfad übergeben...
Gruss
Timo
Um den Pfad des übergeordneten Ordners in Excel VBA zu definieren, kannst Du folgende Schritte befolgen:
Öffne den VBA-Editor:
ALT + F11
in Excel.Erstelle ein neues Modul:
Füge den folgenden Code ein:
Sub HoleUebergeordnetenOrdner()
Dim pfad As String
pfad = ThisWorkbook.Path
ChDrive (Left(pfad, 2))
ChDir (pfad)
ChDir ("..")
pfad = CurDir(Left(pfad, 2))
MsgBox "Übergeordneter Ordner: " & pfad
End Sub
Führe das Skript aus:
F5
, während der Cursor im Code steht, oder gehe zu „Ausführen“ und wähle „Sub/UserForm ausführen“.Fehler: „Pfad nicht gefunden“
ThisWorkbook.Path
verwendest. Überprüfe, ob die Datei gespeichert ist.Fehler: „Zugriff verweigert“
Eine andere Möglichkeit, den übergeordneten Ordner zu ermitteln, ist durch die Verwendung einer Funktion. Hier ist ein Beispiel:
Function IstUnterOrdnerVon(Pfad As String) As String
Dim i As Integer
For i = Len(Pfad) To 3 Step -1
If Mid(Pfad, i, 1) = "\" Then
IstUnterOrdnerVon = Left(Pfad, i - 1)
Exit Function
End If
Next
End Function
Diese Funktion gibt den übergeordneten Ordner zurück, wenn Du den aktuellen Pfad übergibst.
Angenommen, Du hast eine Excel-Datei in C:\Programme\Excel\Test.xls
. Um den übergeordneten Ordner zu erhalten, kannst Du den oben genannten Code verwenden. Nach der Ausführung wird C:\Programme\Excel
angezeigt.
chdrive thisworkbook.path
, um sicherzustellen, dass Du im richtigen Laufwerk bist, bevor Du den übergeordneten Ordner ermittelst.1. Wie kann ich den Pfad in einer Variablen speichern?
Du kannst den Pfad ganz einfach in einer String-Variable speichern, wie im Beispiel gezeigt:
Dim pfad As String
pfad = ThisWorkbook.Path
2. Gibt es eine Möglichkeit, den Pfad dynamisch zu erhalten?
Ja, Du kannst den Code so anpassen, dass er den Pfad automatisch anpasst, wenn die Datei an einen anderen Ort verschoben wird.
3. Funktioniert dieser Code in allen Excel-Versionen?
Ja, dieser VBA-Code sollte in den meisten Excel-Versionen funktionieren, die VBA unterstützen. Achte darauf, dass Du die richtigen Berechtigungen hast.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen