Extrahieren von Dateinamen und Ordnernamen in dem Dateipfad mit VBA in Microsoft Excel
In diesem Artikel haben wir VBA-Code zum Schreiben einer benutzerdefinierten Funktion zum Extrahieren des Dateinamens und Ordnernamens aus dem Dateipfad freigegeben.
Die Rohdaten für dieses Beispiel geben den vollständigen Pfad bestimmter Dateien an.
Logische Erklärung
In diesem Beispiel haben wir die benutzerdefinierte VBA-Funktion „FileOrFolderName“ erstellt, die den Datei- oder Ordnernamen als Ausgabe zurückgibt.
Die Funktion „FileOrFolderName“ verwendet zwei Parameter als Eingabe. Der erste Parameter verwendet den Dateipfad als Eingabe. Der zweite Parameter verwendet den Booleschen Wert als Eingabe. Wenn der Dateiname als Ausgabe verwendet werden soll, wird diesem Parameter der Wert True zugewiesen. Wenn der Ordnername als Ausgabe verwendet werden soll, wird diesem Parameter der Wert False zugewiesen.
Um den Dateinamen und den Ordnernamen vom Dateipfad zu trennen, ermitteln wir zunächst den Ort des letzten Auftretens des Pfadtrennzeichens im Dateipfad. Nach dem letzten Auftreten des Pfadtrennzeichens können wir den Dateinamen und den Ordnernamen einfach als Text trennen. Auf der rechten Seite des Pfadtrennzeichens befindet sich der Dateiname und auf der linken Seite des Pfadtrennzeichens befindet sich der Ordnername.
Wenn im Dateipfad kein Pfadtrennzeichen vorhanden ist, wird als Ordnername der Standardverzeichnispfad angegeben.
Ausführen der benutzerdefinierten Funktion
Um eine definierte benutzerdefinierte Funktion zu verwenden, gehen Sie zu Zelle C14 und geben Sie die Funktion = FileOrFolderName (B14, FALSE) ein. Geben Sie in Zelle D14 die Funktion = FileOrFolderName (B14, TRUE) ein, wobei Zelle B14 den Dateipfad enthält.
Zelle C14 gibt den Ordnernamen und Zelle D14 den Dateinamen an.
Bitte folgen Sie unten für den Code
Function FileOrFolderName(InputString As String, _ ReturnFileName As Boolean) As String 'Returns the foldername or the filename based on boolean value assigned Dim i As Integer, FolderName As String, FileName As String i = 0 'Code used for finding the position of last occurence of path separator While InStr(i + 1, InputString, Application.PathSeparator) > 0 i = InStr(i + 1, InputString, Application.PathSeparator) Wend 'Extract the folder path 'If No occurence of path separator is found then assign the default directory path If i = 0 Then FolderName = CurDir Else FolderName = Left(InputString, i - 1) End If 'Extracting the file name FileName = Right(InputString, Len(InputString) - i) 'Returning the folder or file name from function based on ReturnFileName parameter If ReturnFileName Then FileOrFolderName = FileName Else FileOrFolderName = FolderName End If End Function
Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook und Facebook.
Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]