\' Display the names in C:\\ that represent directories.
MyPath = \"c:\\\" \' Set the path.
MyName = Dir(MyPath, vbDirectory) \' Retrieve the first entry.
Do Whi
Dir
is function which has a edge effect.
the first call to Dir
: MyName = Dir(MyPath, vbDirectory)
initializes the Dir
internals and returns the first directory entry.
Subsequent calls to Dir
use the same context, yielding MyPath
directory contents one by one.
It's not reentrant (which is also why you can't nest/recurse multiple loops using Dir), not very elegant, but that's how it works.
According to the Dir() MSDN, it
Returns a string representing the name of a file, directory, or folder that matches a specified pattern or file attribute, or the volume label of a drive.