Macro Traversing Subdirectories

I have a macro that adds custom properties. I want to add these
properties to every file in a directory including subdirectories. I
have it working on the main directory, but I'm having trouble with the
Does anyone have a SW Macro example of traversing subdirectories to
perform a function that they would share?
The version of VB that appears when editing a Macro seems limited. It
doesn't seem to recognize commands like dir$ or FileSharedObjects. Are
there better commands/ways to do this?
Thanks, Blair
Reply to
Blair Sutton
Loading thread data ...
The VB version for macros is VBA. VB6 is also very similar.
VBA does have this capability. I have used it. You need to add the appropriate references to your macro.
In the VB macro editor, under "Tools --> References", check to add "Microsoft Scripting Runtime".
Reply to
Have a look at this article for more information on working with subdirectories.
formatting link
Reply to
This bit of code should do what you need. It is a recursive function that will spit out all the file and folder names in a particular directory that you specify. You have to be sure to add Microsoft Scripting Runtime as a reference.
Sub MyProject
FolderTree ("C:\myFolder")
End Sub
Function FolderTree(FolderPath As String)
Dim fso As Object Dim OriginalFolder As Folder Dim SubFolders As Folders Dim OrginalFile As File Dim files As files Dim Folder As Folder Dim File As File
Set fso = New FileSystemObject Set OriginalFolder = fso.GetFolder(FolderPath)
Set files = OriginalFolder.files If files Is Nothing Then Exit Function
For Each File In files Debug.Print File.Name 'Do whatever you want to each file at this step in macro. Next File
Set SubFolders = OriginalFolder.SubFolders If SubFolders Is Nothing Then Exit Function
'Iterate all subfolders For Each Folder In SubFolders Debug.Print Folder.Name 'Do whatever you want to the folder at this point in macro. FolderTree Folder.Path Next Folder
End Function
Reply to
Mr. Who
Thanks for the great answers. Each of you gave great info that made this doable.
That70'sTick-Thanks for explaining the macro portion of SW and how to add tools. I missed how and when to add references.
Jeff- That MS site did a nice job of explaing the function
Mr. Who-I cut and pasted the code and was able to add my function calls where promted. Do you have a favorite site with code snippets like this?
Thanks, Blair
Reply to
Blair Sutton
I don't, but I have thought about putting something together to help the community. Especially an API primer for getting new people started. Once you understand a few simple things about the API even a novice can get things done. One of these days I will budget some time into producing something.
Reply to
Mr. Who

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.