[英]Excel VBA: How to extract specific folder from file path
我正在尋找一個函數,該函數將在文件路徑中返回第四個文件。 例如,假設我的文件路徑為“ C:\\ Users \\ Desktop \\ Programs \\ Training Log \\ Folder Database”,而我只想提取“ Training”文件夾並另存為變量。 我該怎么做呢?
這是我當前的功能:
Function GetFilenameFromPath(ByVal strPath As String) As String
If Right$(strPath, 1) <> "\" And Len(strPath) > 0 Then
GetFilenameFromPath = GetFilenameFromPath(Left$(strPath, Len(strPath) - 1)) + Right$(strPath, 1)
End If
End Function
此函數僅返回直接父文件夾。 我該如何調整它以指定直接父級以外的文件夾。
謝謝!!
您可以使用Split
獲得第4部分。
Sub Sample()
Dim FilePath As String
Dim MyAr As Variant
FilePath = "C:\Users\Desktop\Programs\Training Log\Folder Database"
MyAr = Split(FilePath, "\")
Debug.Print MyAr(4)
End Sub
您可以使用以下功能完成此操作:
Public Function getParentFolder(path As String, Optional level As Integer = 0)
Dim pathTokens() As String
pathTokens = VBA.split(path, "\")
Debug.Assert level >= 0 And level <= UBound(pathTokens)
getParentFolder = pathTokens(UBound(pathTokens) - level)
End Function
通過使用Optional
,默認值為0,因此您可以將其用作單參數或二參數函數。 level
參數使您可以選擇要深入的級別(目錄)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.