Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I need to look at all files within a directory and I need to "climb" down
sub-directories within those directories. For example: FileDir="C:\mystuff" I am using this loop: FName = Dir(FileDir) Do Until FName = "" do stuff Loop But if there is a folder "c:\mystuff\subdir\" I need to look there too. How do I determine sub-directories (folders) within folders? |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
See this page Mike
http://www.rondebruin.nl/fso.htm -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Mike H." wrote in message ... I need to look at all files within a directory and I need to "climb" down sub-directories within those directories. For example: FileDir="C:\mystuff" I am using this loop: FName = Dir(FileDir) Do Until FName = "" do stuff Loop But if there is a folder "c:\mystuff\subdir\" I need to look there too. How do I determine sub-directories (folders) within folders? |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Jim Rech posted recently posted some code that Bill Manville wrote. Here's a link: http://groups.google.com/groups?thre...%40tkmsftngp11 http://support.microsoft.com/kb/185476/EN-US/ How To Search Directories to Find or List Files http://support.microsoft.com/kb/185601/EN-US/ HOW TO: Recursively Search Directories by Using FileSystemObject http://support.microsoft.com/kb/186118/EN-US/ How To Use FileSystemObject with Visual Basic -- Regards, Tom Ogilvy "Mike H." wrote: I need to look at all files within a directory and I need to "climb" down sub-directories within those directories. For example: FileDir="C:\mystuff" I am using this loop: FName = Dir(FileDir) Do Until FName = "" do stuff Loop But if there is a folder "c:\mystuff\subdir\" I need to look there too. How do I determine sub-directories (folders) within folders? |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Doing the digging is a bit difficult using DIR() [which is my preferred
method of digging around in folders anyway, but I recognize the shortcomings]. Using the File System Object (FSO) works better for this. Chip Pearson has some good examples of using the FSO with recursion (calling itself) to work the way down through multiple levels of folders. See http://www.cpearson.com/excel/RecursionAndFSO.htm and even http://www.cpearson.com/excel/CloneFolder.htm Those should give you some good ideas and a jump start on it all. "Mike H." wrote: I need to look at all files within a directory and I need to "climb" down sub-directories within those directories. For example: FileDir="C:\mystuff" I am using this loop: FName = Dir(FileDir) Do Until FName = "" do stuff Loop But if there is a folder "c:\mystuff\subdir\" I need to look there too. How do I determine sub-directories (folders) within folders? |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Mike,
Add a reference to the Windows Script Host Object Model and then try something like this: Sub ProcessFiles() Dim oFSO As New FileSystemObject Dim oFolder As Folder Dim oSubFolder As Folder Dim oFile As File Set oFolder = oFSO.GetFolder("C:\mystuff") 'process files in the starting folder For Each oFile In oFolder.Files 'do stuff Debug.Print oFile.Path Next oFile 'process files in sub folders For Each oSubFolder In oFolder.SubFolders For Each oFile In oSubFolder.Files 'do stuff Debug.Print oFile.Path Next oFile Next oSubFolder End Sub -- Hope that helps. Vergel Adriano "Mike H." wrote: I need to look at all files within a directory and I need to "climb" down sub-directories within those directories. For example: FileDir="C:\mystuff" I am using this loop: FName = Dir(FileDir) Do Until FName = "" do stuff Loop But if there is a folder "c:\mystuff\subdir\" I need to look there too. How do I determine sub-directories (folders) within folders? |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
so you don't repeat your code for the file processing part, you can make the
sub a recursive one... Sub ProcessFiles(strFolder As String) Dim oFSO As New FileSystemObject Dim oFolder As Folder Dim oSubFolder As Folder Dim oFile As File Set oFolder = oFSO.GetFolder(strFolder) 'process files in the starting folder For Each oFile In oFolder.Files 'do stuff Debug.Print oFile.Path Next oFile 'process sub folders For Each oSubFolder In oFolder.SubFolders ProcessFiles oSubFolder.Path Next oSubFolder End Sub you then would use it like this: Sub test() ProcessFiles "c:\mystuff" End Sub -- Hope that helps. Vergel Adriano "Vergel Adriano" wrote: Mike, Add a reference to the Windows Script Host Object Model and then try something like this: Sub ProcessFiles() Dim oFSO As New FileSystemObject Dim oFolder As Folder Dim oSubFolder As Folder Dim oFile As File Set oFolder = oFSO.GetFolder("C:\mystuff") 'process files in the starting folder For Each oFile In oFolder.Files 'do stuff Debug.Print oFile.Path Next oFile 'process files in sub folders For Each oSubFolder In oFolder.SubFolders For Each oFile In oSubFolder.Files 'do stuff Debug.Print oFile.Path Next oFile Next oSubFolder End Sub -- Hope that helps. Vergel Adriano "Mike H." wrote: I need to look at all files within a directory and I need to "climb" down sub-directories within those directories. For example: FileDir="C:\mystuff" I am using this loop: FName = Dir(FileDir) Do Until FName = "" do stuff Loop But if there is a folder "c:\mystuff\subdir\" I need to look there too. How do I determine sub-directories (folders) within folders? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Creating Directories | Excel Programming | |||
sub directories again | Excel Programming | |||
sub directories again | Excel Programming | |||
sub directories | Excel Programming | |||
Directories | Excel Programming |