Bei der VBA-Programmierung für Excel müssen Sie häufig den Dateinamen und den Dateipfad abrufen. Dies kann beispielsweise zum Öffnen oder Speichern einer Datei, zum Verarbeiten von Daten innerhalb einer Datei oder zum Anzeigen von Informationen für den Benutzer erforderlich sein. In diesem Artikel werden einige nützliche Tipps und Beispiele zum Abrufen eines Dateinamens und eines Dateipfads mit VBA behandelt.
Eine einfache Möglichkeit, einen Dateinamen zu erhalten, besteht darin, die integrierte VBA-Funktion zu verwenden - GetFileName. Mit dieser Funktion können Sie den Dateinamen aus dem vollständigen Pfad abrufen. Ниже приведен пример использования данной функции:
Unter GetFileNameExample()
Vollständiger Pfad als Zeichenfolge dimmen
Dateiname als Zeichenfolge dimmen
Vollständiger Pfad = "C:\Users\Username\Documents\example .xlsx"
Dateiname = GetFileName (vollständiger Pfad)
MsgBox "Имя файла: " & Dateiname
Ende Sub
Funktion GetFileName (ByVal Vollständiger Pfad als Zeichenfolge) Als Zeichenfolge
GetFileName = Rechts (Vollständiger Pfad, Länge (vollständiger Pfad) - InStrRev (vollständiger Pfad, "\"))
Funktion beenden
In diesem Beispiel ist der Wert der Variablen fullPath enthält den vollständigen Dateipfad. Mit der Funktion GetFileName wir erhalten den Dateinamen aus diesem Pfad und weisen ihn einer Variablen zu fileName. Verwenden Sie dann die MsgBox-Funktion, um den Dateinamen auf dem Bildschirm anzuzeigen. Wenn dieser Code ausgeführt wird, wird eine Meldung mit dem Dateinamen "example.xlsx".
Beschreibung der Hauptaufgabe
Es gibt verschiedene Möglichkeiten, den Dateinamen und den Dateipfad in VBA Excel abzurufen. Eine davon ist die Verwendung der Eigenschaften eines Workbook-Objekts. Ein Workbook-Objekt stellt eine geöffnete Arbeitsmappe in Excel dar und enthält Informationen dazu, einschließlich Pfad und Dateiname.
Sie können die Eigenschaften Name , Path und FullName des Workbook-Objekts verwenden, um den Dateinamen und den Dateipfad in VBA Excel abzurufen. Die Name-Eigenschaft gibt nur den Dateinamen ohne Pfad zurück, die Path-Eigenschaft gibt nur den Pfad zur Datei ohne Namen zurück, und die FullName-Eigenschaft gibt den vollständigen Dateinamen zusammen mit dem Pfad zurück.
| Eigenschaft | Die Beschreibung |
|---|---|
| Name | Gibt den Dateinamen ohne Pfad zurück. |
| Path | Gibt den Pfad zu einer Datei ohne Namen zurück. |
| FullName | Gibt den vollständigen Dateinamen zusammen mit dem Pfad zurück. |
Beispiel für die Verwendung der Eigenschaften Name , Path und FullName zum Abrufen des Dateinamens und des Dateipfads in VBA Excel:
Sub GetFileNameAndPath()Dim wb As WorkbookDim fileName As StringDim filePath As StringDim fullFileName As StringSet wb = ThisWorkbook' Получаем имя файла без путиfileName = wb.Name' Получаем путь к файлу без имениfilePath = wb.Path' Получаем полное имя файла вместе с путемfullFileName = wb.FullName' Отображаем результатыMsgBox "Имя файла: " & fileName & vbCrLf & _"Путь к файлу: " & filePath & vbCrLf & _"Полное имя файла: " & fullFileNameEnd Sub
In diesem Beispiel wird eine Workbook-Variable vom Typ wb erstellt, die auf eine geöffnete Arbeitsmappe verweist. Verwenden Sie dann die Eigenschaften Name , Path und FullName, um den Dateinamen ohne Pfad, den Dateipfad ohne Namen und den vollständigen Dateinamen zu erhalten. Die Ergebnisse werden in einem modalen Fenster mit MsgBox angezeigt.
Das Abrufen des Dateinamens und des Dateipfads in Excel VBA ist daher eine ziemlich einfache Aufgabe mit den Eigenschaften des Workbook-Objekts. Diese Informationen können nützlich sein, wenn Sie verschiedene Dateioperationen in Makros ausführen.
Methoden zum Abrufen des Dateinamens und des Dateipfads
1. Eigenschaft Name
Eine der einfachsten Möglichkeiten, einen Dateinamen zu erhalten, besteht darin, die Name-Eigenschaft zu verwenden. Die Name-Eigenschaft gibt den Namen der Datei ohne Pfad zurück.
Dim fileName As String fileName = ThisWorkbook.Name
2. GetFileName
Eine andere Möglichkeit, den Dateinamen abzurufen, besteht darin, die Funktion GetFileName zu verwenden. Diese Funktion nimmt den Dateipfad als Argument an und gibt den Dateinamen ohne den Pfad zurück.
Dim filePath As String Dim fileName As String filePath = ThisWorkbook.FullName fileName = GetFileName(filePath)
3. GetFilePath-Funktion
Wenn Sie nur den Dateipfad ohne Dateinamen abrufen müssen, können Sie die Funktion GetFilePath verwenden. Diese Funktion nimmt den Dateipfad als Argument an und gibt den Dateipfad ohne Dateinamen zurück.
Dim filePath As String Dim folderPath As String filePath = ThisWorkbook.FullName folderPath = GetFilePath(filePath)
4. GetFileNameWithExtension-Funktion
Wenn Sie den Dateinamen zusammen mit der Dateierweiterung abrufen müssen, können Sie die Funktion GetFileNameWithExtension verwenden. Diese Funktion nimmt den Dateipfad als Argument an und gibt den Dateinamen zusammen mit der Erweiterung zurück.
Dim filePath As String Dim fileNameWithExtension As String filePath = ThisWorkbook.FullName fileNameWithExtension = GetFileNameWithExtension(filePath)
5. GetParentFolderPath-Funktion
Wenn Sie den Pfad zum übergeordneten Ordner abrufen müssen, in dem sich die Datei befindet, können Sie die Funktion GetParentFolderPath verwenden. Diese Funktion nimmt den Dateipfad als Argument an und gibt den Pfad zum übergeordneten Ordner zurück.
Dim filePath As String Dim parentFolderPath As String filePath = ThisWorkbook.FullName parentFolderPath = GetParentFolderPath(filePath)
Anmerkung: Um diese Funktionen nutzen zu können, müssen Sie Ihrem VBA-Modul den entsprechenden Code hinzufügen. Vergessen Sie auch nicht, die im Code verwendeten Variablen zu deklarieren.
Beispiele für die Verwendung von VBA zum Abrufen von Dateinamen und Pfadnamen
Visual Basic Applications (VBA) in Excel machen es einfach, den Dateinamen und den Dateipfad abzurufen. Dies kann nützlich sein, wenn Sie die Arbeit mit Dateien automatisieren und benutzerdefinierte Berichte und Datenansichten erstellen.
Es gibt mehrere Möglichkeiten, den Dateinamen und den Pfad in VBA abzurufen:
| Methode | Die Beschreibung | Ein Beispiel |
|---|---|---|
| ActiveWorkbook.Name | Gibt den Namen der aktuell geöffneten Datei zurück. | Dim fileName As String fileName = ActiveWorkbook.Name MsgBox "Dateiname: " & fileName |
| ActiveWorkbook.Path | Gibt den Pfad zur aktuell geöffneten Datei zurück. | Dim filePath As String filePath = ActiveWorkbook.Path MsgBox "Dateipfad: " & filePath |
| ThisWorkbook.Name | Gibt den Namen der Datei zurück, in der sich der VBA-Code befindet. | Dim fileName As String fileName = ThisWorkbook.Name MsgBox "Dateiname: " & fileName |
| ThisWorkbook.Path | Gibt den Pfad der Datei zurück, in der sich der VBA-Code befindet. | Dim filePath As String filePath = ThisWorkbook.Path MsgBox "Dateipfad: " & filePath |
Mit den folgenden Beispielen können Sie den Dateinamen und den Pfad für die aktuell geöffnete Datei sowie die Datei abrufen, in der sich der VBA-Code befindet. Sie können diese Daten in Ihrem VBA-Code verwenden, um zusätzliche Funktionen oder Berichte zu erstellen, die Zugriff auf den Dateinamen und den Pfad erfordern.
Sie können diese Methoden auch gemeinsam mit anderen VBA-Funktionen und -Prozeduren verwenden, um Dateien und Ordner zu verarbeiten, neue Dateien und Verzeichnisse zu erstellen und den Dateinamen oder Speicherort zu ändern.
Die Verwendung von VBA zum Abrufen des Dateinamens und des Pfads macht die Arbeit mit Dateien in Excel flexibler und automatisierter, wodurch Zeit und Aufwand bei der Verarbeitung und Analyse von Daten eingespart werden können.