In diesem Artikel haben wir VBA-Code zum Schreiben einer benutzerdefinierten Funktion zum Extrahieren des Datei- und Ordnernamens aus dem Dateipfad freigegeben.
Rohdaten für dieses Beispiel geben den vollständigen Pfad bestimmter Dateien an.
Logikerklä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 einen booleschen Wert als Eingabe, wenn wir den Dateinamen als Ausgabe wünschen, weisen wir diesem Parameter den Wert True zu und wenn wir den Ordnernamen als Ausgabe wünschen, weisen wir diesem Parameter den Wert False zu.
Um den Dateinamen und den Ordnernamen vom Dateipfad zu trennen, suchen wir zunächst den Ort des letzten Vorkommens des Pfadtrennzeichens innerhalb des Dateipfads. Nach dem letzten Vorkommen 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 Text auf der linken Seite des Pfadtrennzeichens ist der Ordnername.
Wenn im Dateipfad kein Pfadtrennzeichen vorhanden ist, wird der Standardverzeichnispfad als Ordnername 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) und in Zelle D14 die Funktion =FileOrFolderName(B14,TRUE) ein, wobei Zelle B14 den Dateipfad enthält.
Zelle C14 gibt den Ordnernamen an und Zelle D14 gibt den Dateinamen an.
Bitte folgen Sie unten für den Code
Funktion FileOrFolderName(InputString As String, _ ReturnFileName As Boolean) As String 'Gibt den Ordnernamen oder den Dateinamen basierend auf dem zugewiesenen booleschen Wert zurück Dim i As Integer, FolderName As String, FileName As String i = 0 'Code zum Finden der Position des letzten Vorkommen des Pfadtrennzeichens Während InStr(i + 1, InputString, Application.PathSeparator) > 0 i = InStr(i + 1, InputString, Application.PathSeparator) Wend 'Ordnerpfad extrahieren 'Wenn kein Pfadtrennzeichen gefunden wird, dann zuweisen der Standardverzeichnispfad If i = 0 Then FolderName = CurDir Else FolderName = Left(InputString, i - 1) End If 'Dateinamen extrahieren FileName = Right(InputString, Len(InputString) - i) 'Ordner- oder Dateinamen zurückgeben from Funktion basierend auf dem Parameter ReturnFileName 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. Außerdem können Sie uns auf Twitter und Facebook folgen.
Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site