Chỉ lấy tên thư mục con cấp 1 hay lấy toàn bộ (tức là con của... con)Chào các anh chị.
Tôi muốn lấy tên các thư mục nằm trong một thư mục cho trước và điền vào các ô trên cột A. Xin được trợ giúp.
Tạo 1 Function thế này nhé:Em chỉ cần lấy thư mục con cấp 1 thôi.
Function FolderList(FolderName As String)
Dim i As Long, Arr(), Item
If Right(FolderName, 1) <> "\" Then FolderName = FolderName & "\"
With CreateObject("Scripting.FileSystemObject")
With .GetFolder(FolderName)
If .SubFolders.Count > 0 Then
For Each Item In .SubFolders
i = i + 1
ReDim Preserve Arr(1 To i)
Arr(i) = Item
Next
End If
End With
End With
FolderList = Arr
End Function
Sub Main()
Dim FolderName As String, Arr
On Error GoTo ExitSub
With CreateObject("Shell.Application")
FolderName = .BrowseForFolder(0, "", 1).Self.Path
End With
Arr = FolderList(FolderName)
With Range("A:A")
.ClearContents
.Resize(UBound(Arr)) = WorksheetFunction.Transpose(Arr)
End With
ExitSub:
End Sub
Bạn sử dụng công thức sau cho ô A1 nhé:Tôi có một thư mục tên VIETNAM, trongthư mục này có file QN.xls. Tôi muốn ô A1 của QN.xls có giá trị VIETNAM. Nhờ các anh chị giúp đỡ. Xin cản ơn.
=TRIM(RIGHT(SUBSTITUTE(LEFT(CELL("filename"),FIND("\[",CELL("filename"))-1),"\",REPT(" ",255)),255))