View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
joel joel is offline
external usenet poster
 
Posts: 9,101
Default Sorting files by name(i)

I assume the A is not really A but some other longer name. You need to
extract the number from the filename.

BaseName = "ABC"
Extension = ".XLS"
For i = 1 To x
Dim ActivePath As String
ActivePath = .FoundFiles(i)
Workbooks.Open (ActivePath)
bkname = ActiveWorkbook.Name
'remove extension
bkname = Left(bkname, InStr(bkname, ".") - 1)
'extract number
filenumber = Mid(bkname, Len(BaseName) + 1)
NewName = filenumber & "_" & BaseName & filenumber & extension



" wrote:

Hello group,

I am using the Application.filesearch and the following code

If .execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) 0 Then
x = .FoundFiles.Count

i = 0
For i = 1 To x
Dim ActivePath As String
ActivePath = .FoundFiles(i)
Workbooks.Open (ActivePath)

'Then I am doing a Save As i_filename
Next i
.....

Example:
I have 40 files named A1,A2,A3.....A10, A11,A12...A21,A23,A24.....A40.
Files should be saved in the format: i_Ai
i.e. 1_A1, 2_A2, 3_A3, 4_A4........ 40_A40

Instead I have the files saved in the following format 1_A1, 2_A10,
3_A11, 4_A12 etc..

Please let me know a way to save the files in the way I intend to
save.

Thanks!
Kevin