Zum Hauptinhalt springen

Wie bekomme ich den Ordnerpfad in Excel mit VBA

Microsoft Excel ist ein leistungsfähiges Werkzeug für die Arbeit mit Daten und kann viele Aufgaben mit der integrierten Programmiersprache VBA (Visual Basic for Applications) automatisieren.

Eine der häufigsten Aufgaben besteht darin, den Pfad zu dem Ordner abzurufen, in dem sich die aktuelle Datei befindet. Dies kann beispielsweise nützlich sein, um die Arbeitsergebnisse in einem bestimmten Ordner zu speichern oder Daten aus anderen Dateien im selben Ordner zu aktualisieren.

In VBA gibt es mehrere Möglichkeiten, den Ordnerpfad abzurufen. Eine der einfachsten Methoden ist die Verwendung eines Objekts ThisWorkbook und seine Eigenschaften Path. Diese Eigenschaft gibt den vollständigen Pfad zur aktuellen Datei zurück, aber wir können diese Zeile verarbeiten, um den Ordnerpfad zu erhalten.

Dazu können wir VBA-Funktionen wie InStrRev und Left. Die InStrRev-Funktion sucht nach dem letzten Vorkommen einer bestimmten Zeichenfolge in einer anderen Zeichenfolge, und die Left-Funktion gibt die angegebene Anzahl von Zeichen vom Anfang der Zeichenfolge zurück. Die Anwendung dieser Funktionen ermöglicht es uns, den Ordnerpfad aus der Pfadzeichenfolge einer Datei zu extrahieren.

Beispielcode:
Dim filePath As String


Dim folderPath As String


' Получение полного пути к файлу


filePath = ThisWorkbook.Path


' Извлечение пути к папке из строки пути к файлу


folderPath = Left(filePath, InStrRev(filePath, "\") - 1)

Nachdem dieser Code ausgeführt wurde, wird die Variable folderPath enthält den Pfad des Ordners, in dem sich die aktuelle Datei befindet.

Was ist VBA

Mit VBA können Sie Makros programmieren, die eine Vielzahl von Aufgaben ausführen können, z. B. die Datenmanipulation, die Erstellung einer Benutzeroberfläche, die Verwaltung von Dateien und Ordnern, die Interaktion mit anderen Anwendungen und vieles mehr.

Vorteile der Verwendung von VBAAnwendungsbeispiele
Automatisieren von RoutineaufgabenErstellen von Makros zum schnellen Filtern und Sortieren von Daten
Vereinfachtes Arbeiten mit DatenAutomatisches Füllen von Zellen basierend auf bestimmten Bedingungen
Erstellen benutzerdefinierter FunktionenErstellen von Funktionen, die Excel erweitern, z. B. zum Berechnen komplexer Formeln
Integration mit anderen AnwendungenInteraktion mit Datenbanken, Outlook, Word und anderen Anwendungen

Die Verwendung von VBA kann die Effizienz von Excel erheblich steigern und dazu beitragen, viele sich wiederholende Operationen zu automatisieren, was wiederum Zeit spart und die Produktivität erhöht.

Warum erhalten Sie einen Ordnerpfad in Excel

In Excel müssen Sie häufig mit Dateien arbeiten, die sich in einem bestimmten Ordner auf Ihrem Computer befinden. Wenn Sie den Pfad zu diesem Ordner abrufen, können Sie die Arbeit mit Dateien vereinfachen und einige Vorgänge automatisieren. Hier sind einige Gründe, warum das Abrufen des Ordnerpfads hilfreich sein kann:

Daten importieren: Wenn Sie einen Ordnerpfad abrufen, können Sie ganz einfach Daten aus allen Dateien in diesem Ordner importieren. Auf diese Weise können Sie vermeiden, jede Datei manuell zu öffnen und die Daten manuell zu kopieren. Dies ist besonders nützlich, wenn die Dateien regelmäßig aktualisiert werden und die Daten in Excel-Tabellen aktualisiert werden müssen.

Exportieren von Daten: Das Abrufen des Ordnerpfads ermöglicht das einfache Exportieren von Daten aus Excel in Dateien in diesem Ordner. Sie können beispielsweise automatisch Berichte erstellen oder Daten in andere Programme oder Systeme exportieren.

Dateimanipulation: Wenn Sie einen Ordnerpfad abrufen, können Sie verschiedene Operationen mit Dateien in diesem Ordner durchführen. Sie können beispielsweise Dateien umbenennen, in andere Ordner verschieben oder andere Aktionen mit VBA-Code ausführen.

Arbeiten mit externen Daten: Wenn Sie einen Ordnerpfad abrufen, können Sie Verbindungen zu Dateien in diesem Ordner herstellen. Sie können beispielsweise eine Verknüpfung zu einer Bilddatei erstellen und das Bild automatisch in Excel aktualisieren, wenn sich die Datei ändert.

Vereinfachte Arbeit: Das Abrufen des Ordnerpfads erleichtert die Arbeit. Sie können beispielsweise eine Schaltfläche in Excel erstellen, die automatisch einen Ordner mit Dateien öffnet, die der aktuellen Tabelle oder Arbeitsmappe zugeordnet sind.

Dies sind nur einige Beispiele dafür, wie das Abrufen eines Ordnerpfads in Excel nützlich sein kann. Letztendlich können Sie dadurch die Zeit und den Aufwand für Routineaufgaben reduzieren und die Arbeitseffizienz in Excel verbessern.

Methoden zum Abrufen eines Ordnerpfads in Excel mit VBA

In Excel gibt es mehrere Möglichkeiten, den Ordnerpfad mithilfe von VBA abzurufen.

    Verwenden der Environ-Funktion : Mit der Environ-Funktion können Sie den Pfad zum aktuellen Arbeitsordner abrufen. Dazu können Sie den folgenden Code verwenden:

Sub GetFolderPath_Environ()Dim folderPath As StringfolderPath = Environ("USERPROFILE")MsgBox folderPathEnd Sub
Sub GetFolderPath_FileDialog()Dim folderPath As StringWith Application.FileDialog(msoFileDialogFolderPicker)If .Show = -1 ThenfolderPath = .SelectedItems(1)MsgBox folderPathEnd IfEnd WithEnd Sub
Sub GetFolderPath_Shell()Dim folderPath As StringDim objShell As ObjectSet objShell = CreateObject("Shell.Application")folderPath = objShell.Namespace(0).Self.PathMsgBox folderPathEnd Sub

Mit diesen Methoden können Sie den Ordnerpfad in Excel abrufen und ihn für verschiedene Aktionen verwenden, z. B. zum Speichern von Dateien oder zum Öffnen anderer Dateien aus diesem Ordner.

Verwenden der Funktion "CurDir"

In VBA in Excel können Sie die Funktion "CurDir" verwenden, um den aktuellen Arbeitsordner abzurufen. Die Funktion "CurDir" gibt den Pfad zum aktuellen Arbeitsordner als Zeichenfolge zurück.

Ein Beispiel für die Verwendung der Funktion "CurDir" lautet wie folgt:

DimpathAs String
path = CurDir

In diesem Beispiel enthält die Variable "path" den Pfad zum aktuellen Arbeitsordner. Als nächstes können Sie diesen Pfad verwenden, um verschiedene Operationen mit Dateien und Ordnern durchzuführen.

Sie können beispielsweise den resultierenden Pfad verwenden, um eine Datei im aktuellen Ordner zu öffnen:

DimfileNameAs String
fileName = path & "\example.txt"
Workbooks.Open fileName

In diesem Beispiel enthält die Variable "fileName" den vollständigen Pfad zur Datei "example".txt" befindet sich im aktuellen Arbeitsordner und diese Datei wird geöffnet.

Die Funktion "CurDir" kann auch ein Argument als relativer Ordnerpfad relativ zum aktuellen Arbeitsordner verwenden. Wenn sich der aktuelle Arbeitsordner beispielsweise im Stammverzeichnis des Laufwerks "C:" befindet, gibt das folgende Beispiel den Pfad zum Ordner "Dokumente" zurück:

DimpathAs String
path = CurDir("\Documents")

In diesem Fall enthält die Variable "path" den Pfad "C:\Documents ".

Mit der Funktion "CurDir" können Sie den Pfad zum aktuellen Arbeitsordner in Excel mithilfe von VBA abrufen und ihn zum Ausführen verschiedener Datei- und Ordneroperationen verwenden.

Verwenden des "FileSystemObject" -Objekts

In Visual Basic für Applikationen (VBA) können Sie das FileSystemObject-Objekt verwenden, um mit dem Dateisystem eines Computers zu arbeiten und den Ordnerpfad in Excel abzurufen.

Fügen Sie zunächst einen Verweis auf das Objekt "Microsoft Scripting Runtime" hinzu. Öffnen Sie dazu den Visual Basic für Applikationen-Editor (drücken Sie ALT + F11), wählen Sie im Hauptmenü die Option Extras und wählen Sie Links aus, um das Dialogfeld Links zu öffnen. Suchen und überprüfen Sie im Dialogfeld Verweise die Microsoft Scripting Runtime, und klicken Sie dann auf OK.

Nachdem Sie einen Verweis auf "Microsoft Scripting Runtime" hinzugefügt haben, können Sie das FileSystemObject-Objekt verwenden. Im folgenden Beispielcode wird veranschaulicht, wie Sie mithilfe des FileSystemObject-Objekts in Excel den Ordnerpfad abrufen können:

VBA-CodeDie Beschreibung
Sub GetFolderPath() Dim fso As FileSystemObject Set fso = New FileSystemObject Dim folderPath As String folderPath = fso.GetFolder("C:\Test").Path MsgBox folderPath End Sub In diesem Beispiel deklarieren wir eine Variable "fso" vom Typ "FileSystemObject" und erstellen eine neue Instanz des FileSystemObject-Objekts.

Dann verwenden wir die Methode "GetFolder", um das Ordnerobjekt im angegebenen Pfad abzurufen"C:\Test ".

Als nächstes verwenden wir die "Path" -Eigenschaft des Ordnerobjekts, um den Pfad zu diesem Ordner abzurufen.

Nachdem dieser Code ausgeführt wurde, wird der Ordnerpfad angezeigt"C:\Test " im Meldungsfeld.

Das FileSystemObject stellt außerdem viele andere Methoden und Eigenschaften für die Arbeit mit Dateien und Ordnern bereit. Eine Liste der verfügbaren Methoden und Eigenschaften finden Sie in der Microsoft-Dokumentation zum FileSystemObject.