Dir() limited to 48 files?

C

Claude

I have written the following code that opens the files in
a directory, then performs some manipulations, and saves
the file:

Do While NameOfFile <> ""
Application.EnableEvents = False
Workbooks.Open (CurDir & "\" & NameOfFile)
Application.EnableEvents = True
....
Workbooks(NameOfFile).Close savechanges:=True
NameOfFile = Dir()
Loop

What puzzles me is that the loop runs 48 times, then stops
without reason. Is there some limitation on how many times
the dir() command can be run? File 49 is in no way
different to the other files.
 
R

Ron de Bruin

Hi Claude

How many files see this test file in C:\Data

Sub Testing()
Dim mybook As Workbook
Dim Fnum As Long
Dim FNames As String
Dim MyPath As String
Dim SaveDriveDir As String

SaveDriveDir = CurDir
MyPath = "C:\Data"
ChDrive MyPath
ChDir MyPath
FNames = Dir("*.xls")
If Len(FNames) = 0 Then
MsgBox "No files in the Directory"
ChDrive SaveDriveDir
ChDir SaveDriveDir
Exit Sub
End If

Application.ScreenUpdating = False
Fnum = 0
Do While FNames <> ""
Fnum = Fnum + 1
FNames = Dir()
Loop
ChDrive SaveDriveDir
ChDir SaveDriveDir

MsgBox Fnum

Application.ScreenUpdating = True
End Sub
 
C

Claude

OK, Excel just crashed, and now its running through till
the end of the directory... This must be due to the
sunspot activity...
 

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