Counting backwards through the File System Object files collection

S

signon77

Here's the deal.

I'm attempting to move backwards through the fso files collection but
getting an "invalid procedure call" error. Here's the code I'm
struggling with:

Dim objFso As FileSystemObject
Dim objFolder As Folder
Dim objFile As File
Dim z As Long
Set dTPlusOneFiles = New Dictionary

'Count backwards through the files collection to get the four most
recently created files
For z = objFolder.Files.Count To 1 Step -1
Set objFile = objFolder.Files(z)
dTPlusOneFiles.Add objFile.Name, objFile.DateCreated
Next z

Strangely the error message occurs at this point: "Set objFile =
objFolder.Files(z)"

Any assistance will be gratefully appreciated.

Rob
 
J

James Cone

Rob,
You will have to use a For | Each construct to iterate the Files collection
and fill the Dictionary object.
Once that is complete, you could add the Dictionary "Items" or "Keys"
array to a worksheet and sort it.
--
Jim Cone
Portland, Oregon USA


"signon77"
wrote in message
Here's the deal.
I'm attempting to move backwards through the fso files collection but
getting an "invalid procedure call" error. Here's the code I'm
struggling with:

Dim objFso As FileSystemObject
Dim objFolder As Folder
Dim objFile As File
Dim z As Long

Set dTPlusOneFiles = New Dictionary
'Count backwards through the files collection to get the four most
recently created files
For z = objFolder.Files.Count To 1 Step -1
Set objFile = objFolder.Files(z)
dTPlusOneFiles.Add objFile.Name, objFile.DateCreated
Next z

Strangely the error message occurs at this point: "Set objFile =
objFolder.Files(z)"
Any assistance will be gratefully appreciated.
Rob
 
J

Jim Cone

Tim,
I did. Did you? <g>
--
Jim Cone
Portland, Oregon USA


"Tim Williams"
wrote in message

Have you tried
objFolder.Files.Item(z)
Tim
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top