Opening many files sequentially

  • Thread starter Thread starter Robin Clay
  • Start date Start date
R

Robin Clay

Greetings !

In a certain Folder I have a dozen text files all ending
with .ali. These files all have an identical format, but
different values.

I occassionally need to change one particular field in all
the files.

How do I perform the "FOR" loop to address each file in
turn ?

What I did as a stop-gap was to open a DOS window in that
folder, enter

DIR *.ali >Junk

and then cut and paste the names from "Junk" into the
module code, each on a separate line.

I then put

myFile(x) = "

before each, and then changed the x to consecutive
numbers.

Then I put

For N = 1 to 12
ThisFile = myFile(N)
etc....

Tedious, I know, but it worked.

But "there must be a better way" .... ?
 
Robin,
BTW, you don't have to collect the file names into a collection. I just
included that as an example in case you want to keep a reference to the
files around in code. I used a collection because, unlike an array, it does
not require that I know ahead of time how many files there will be to size
it and it avoids repeatedly resizing an array to accomodate additional file
names.

Bob Kilmer
 
Keith Willshaw responded, 7/25/2003 5:48:10 AM
for which, many thanks - it seem just waht I want !

But I'm afraid I have a query -
... use the DIR function
Dim myfile as String, myfilecount as Integer
Dim myfilelist(1000) As String
myfilecount =0
myfile = Dir(mydirectory & "\*.ali", vbNormal) _
' gets first entry
Do While myfile <> ""
myfilelist(myfilecount) = _
mydirlist(i) & "\" & myfile
~~~~~~~~~~~~
What is mydirlist ?
What is i ?
Should they be declared ?
 
Robin Clay said:
Keith Willshaw responded, 7/25/2003 5:48:10 AM
for which, many thanks - it seem just waht I want !

But I'm afraid I have a query -

~~~~~~~~~~~~
What is mydirlist ?

A typo, I snipped this excerpt from a piece of code I use, essentially
I iterate through multiple subdirectories rather than just 1
directory. Just replace it with your directory name
What is i ?
Should they be declared ?

All variables should be declared

Keith
 
Back
Top