Directory Search

C

cogent

Hello

I know how to use the File.Search function. What do I do if I only want the
names of the folders in a particular direectory instead of the files?

Thank you!

W
 
F

Frank Kabel

Hi
find below a repost from Bob Phillips. Change the starting directory
and use the macro 'Folders'
Frank


Dim FSO As Object
Dim cnt As Long
Dim level As Long
Dim arFiles

Sub Folders()
Dim i As Long

Set FSO = CreateObject("Scripting.FileSystemObject")

arFiles = Array()
cnt = 0
level = 1

ReDim arFiles(1, 0)
arFiles(0, 0) = "C:\myTest"
arFiles(1, 0) = level
SelectFiles "C:\myTest"

cnt = 0
For i = LBound(arFiles, 2) To UBound(arFiles, 2)
ActiveSheet.Cells(i + 1, arFiles(1, i)).Value = arFiles(0, i)
Next

End Sub

'----------------------------------------------------------------------
Sub SelectFiles(sPath)
'----------------------------------------------------------------------

Dim fldr As Object
Dim Folder As Object

Set Folder = FSO.Getfolder(sPath)
level = level + 1
For Each fldr In Folder.Subfolders
cnt = cnt + 1
ReDim Preserve arFiles(1, cnt)
arFiles(0, cnt) = fldr.Name
arFiles(1, cnt) = level
SelectFiles fldr.Path
level = level - 1
Next

End Sub
 
C

Chip Pearson

Try something like the following:

Dim FSO As Object
Dim Fldr As Object
Const FOLDER_NAME = "C:\Temp"
Set FSO = CreateObject("Scripting.FileSystemObject")
For Each Fldr In FSO.getfolder(FOLDER_NAME).subfolders
Debug.Print Fldr.Name
Next Fldr


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
 
Top