Identify a single item in a files collection without a For Each ... Next

sts023

Board Regular
Joined
Sep 1, 2008
Messages
106
Hi Guys.....

I strongly suspect that the answer to this will be blindingly obvious, but here goes....
The following code is the preamble to code which offers a filepicker if there is more than one file in a folder.
Having identified that there is just one file in the folder, the following code gets its name, but looks and feels idiotic.
Instead of the "For Each ... Next", what should I be doing?

(Note: the "gstr..." variables are Public string variables set in other modules. The Watch facility verifies that they are correctly populated.)
Code:
Dim strFolder           As String
Dim FSO                 As Object
Dim objFilesCollection  As Object
Dim objFile             As Object
  strFolder = gstrLatestsFolder & _
              "\" & gstrProvider & _
              "\" & gstrCompany & "\"
  Set FSO = CreateObject("Scripting.FileSystemObject")
  On Error Resume Next
  Set objFilesCollection = FSO.GetFolder(strFolder).Files
  If Err.Number = 0 Then
    If objFilesCollection.Count = 1 Then
      For Each objFile In objFilesCollection
        gstrLatestsFull = objFile.Name
      Next objFile
    End If
  End If
  On Error GoTo 0

I've tried various combinations of
Code:
Set objFile = objFilesCollection(1)
Set objFile = objFilesCollection.Files(1)
but nothing works.
Can any kind soul help?...
 

Excel Facts

Shade all formula cells
To shade all formula cells: Home, Find & Select, Formulas to select all formulas. Then apply a light fill color.
Hi Steve,

Just a guess ...

Maybe the array is zero based and it should be:

Code:
Set objFile = objFilesCollection(0)

Gary
 
Upvote 0
Gary....
Possible, but the error I get is something like "Object doesn't support that method"
 
Upvote 0

Forum statistics

Threads
1,223,164
Messages
6,170,444
Members
452,326
Latest member
johnshaji

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top