View Single Post
  #7   Report Post  
Posted to microsoft.public.excel.programming
Chip Pearson Chip Pearson is offline
external usenet poster
 
Posts: 7,247
Default Rename Batch of Files in VBA

Darren,

That is a word wrap problem. One line of code got split in to
two. The 'OneFile.Path' should be on the same line of code as
the Debug.Print statement.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com


"Darren Hill" wrote in message
...

When I try the code below, with the following line
Set TopFolder = FSO.GetFolder("C:\FolderName")
changed to
Set TopFolder = FSO.GetFolder("C:\Documents and Settings")
I get an error in the called Sub, the line:

Debug.Print OneFile.Name, OneFile.ParentFolder.Path,
OneFile.Path

The msg is "Invalid Use of Property"
and the Onefile.Path property is highlighted.

I've tried a couple of different folder names, so they aren't

the problem.
Any idea?

Darren


"Chip Pearson" wrote in message
...
Darren,

Here's some code to get you started. You'll need to go to

the
Tools menu in VBA, choose References, and set a reference to

the
Windows Scripting Runtime library.

Sub Start()

Dim FSO As Scripting.FileSystemObject
Dim TopFolder As Scripting.Folder

Set FSO = New Scripting.FileSystemObject
Set TopFolder = FSO.GetFolder("C:\FolderName") '<< CHANGE
ProcessOneFolder FSO, TopFolder

End Sub

Sub ProcessOneFolder(FSO As Scripting.FileSystemObject, _
F As Scripting.Folder)

Dim OneFolder As Scripting.Folder
Dim OneFile As Scripting.File

For Each OneFolder In F.SubFolders
ProcessOneFolder FSO, OneFolder
Next OneFolder
For Each OneFile In F.Files
Debug.Print OneFile.Name, OneFile.ParentFolder.Path,
OneFile.Path
Next OneFile

End Sub


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com


"Darren Hill" wrote in message
...
I'm using Excel 2000.
I have a big macro to create - I don't expect the group to

do
all my work,
information on how to get started would be good for now.

My goal:
I have a directory ("C:\My Documents\Archive") which

contains
multiple
subdirectories, each of which contains files to be renamed.

Some
subdirectories also have their own subfolders.
Those files whose name starts with the string "File" needs

that
string
replaced with the folder name. If the file does not start

with
the string
"File", the immediate folder name gets added to the start

of
the folder
name.
The filelist will include non-Excel files.

I can do the string replacing bit, it's the creating a list

of
folders and
their content files, and then getting the immediate folder

and
using that to
rename the files that I have no idea about, and Google

isn't
helping much :)

Thank in advance.

Darren