ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Get list of subfolders (https://www.excelbanter.com/excel-programming/324698-get-list-subfolders.html)

Darren Hill[_3_]

Get list of subfolders
 
How do I create an array containing the list of all subfolders beneath a
specified folder (call it "C:\MyRoot"), and print that array as a list on
an excel spreadsheet?

Darren

Jim Cone

Get list of subfolders
 

Darren,

My Excel add-in "List Files" does that.
1. Folders and subFolders in a specified drive or folder can be listed.
or
2. Files in the specified folder, directory or drive can be listed.
Files in sub-folders are listed if requested.
Specific file types or names can be listed. (*.pdf, *.wav, etc)
Each file name, size, date and type go on the list.
Each file name on the list is hyperlinked.

All arranged in columns and rows that can be sorted.
Available - free - upon direct request.
Remove xxx from my email address

Regards,
Jim Cone
San Francisco, CA



"Darren Hill" wrote in
message news:opsm8er2qced89cl@omega...
How do I create an array containing the list of all subfolders beneath a
specified folder (call it "C:\MyRoot"), and print that array as a list on
an excel spreadsheet?
Darren


Tom Ogilvy

Get list of subfolders
 
If you don't need the intermediate array, the example from HELP on DIR shows
the way. Here it is modified:

Sub ListSubs()
Dim MyPath As String, MyName As String
Dim rw As Long

rw = 1
MyPath = "c:\MyRoot\" ' Set the path.
MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry.
Do While MyName < "" ' Start the loop.
' Ignore the current directory and the encompassing directory.
If MyName < "." And MyName < ".." Then
' Use bitwise comparison to make sure MyName is a directory.
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Cells(rw, 1).Value = MyName ' Display entry only if it
rw = rw + 1 ' represents a directory.
End If
End If
MyName = Dir ' Get next entry.
Loop
End Sub

--
Regards,
Tom Ogilvy


"Darren Hill" wrote in message
news:opsm8er2qced89cl@omega...
How do I create an array containing the list of all subfolders beneath a
specified folder (call it "C:\MyRoot"), and print that array as a list on
an excel spreadsheet?

Darren




Darren Hill[_3_]

Get list of subfolders
 
Thanks, Tom, that will do perfectly - I don't need the array.

Darren

On Sun, 6 Mar 2005 15:25:45 -0500, Tom Ogilvy wrote:

If you don't need the intermediate array, the example from HELP on DIR
shows
the way. Here it is modified:

Sub ListSubs()
Dim MyPath As String, MyName As String
Dim rw As Long

rw = 1
MyPath = "c:\MyRoot\" ' Set the path.
MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry.
Do While MyName < "" ' Start the loop.
' Ignore the current directory and the encompassing directory.
If MyName < "." And MyName < ".." Then
' Use bitwise comparison to make sure MyName is a directory.
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Cells(rw, 1).Value = MyName ' Display entry only if it
rw = rw + 1 ' represents a directory.
End If
End If
MyName = Dir ' Get next entry.
Loop
End Sub



All times are GMT +1. The time now is 03:25 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com