Look at the FileSystemObject and how a function can call itself. Basically, have a global collection that is the top 5 or ten files. Then have a sub start at the root and look at each file. If the file is larger than any of the items in the collection, replace the one it is bigger than with it. Have the sub recursively call itself for each subfolder.