I do not see any immediate bottlenecks although this part
Set objFolder = objShell.Namespace(oFolder.path)
does not need to be run for each file in the folder- and similarly in the recursive routine this part
Set objFolder = objShell.Namespace(oFolder.path)
especially as it has already been set properly using
Set objFolder = objShell.Namespace(SubFld.path)
It is possible there may be a faster API function that could be useful (API calls are usually 2-3 times faster than FSO in my experience) but I am unaware of which one might return the last 4 information items.
Bookmarks