View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
[email protected] Bunter_22@hotmail.com is offline
external usenet poster
 
Posts: 37
Default automated file loading and saving

Hi Maurice,

The code below should do what your after:

Sub FindDataFiles()
StartTime = Now
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With Application.FileSearch
.NewSearch
.LookIn = "C:\Data"
.SearchSubFolders = True
.Filename = "*.squ"
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
If .Execute() 0 Then
MsgBox "There were " & .FoundFiles.Count & _
" file(s) found."
For i = 1 To .FoundFiles.Count
Application.DisplayAlerts = False
Opentxt = .FoundFiles(i)
Workbooks.OpenText Filename:=Opentxt, _
Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier:= _
xlNone, ConsecutiveDelimiter:=False, Tab:=False,
Semicolon:=False, Comma _
:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
ActiveWorkbook.SaveAs Opentxt, xlNormal
Next i
Timemsg = "The time taken was " & Round((Now - StartTime) * 24 * 60
* 60, 2)
MsgBox "All files that were found have now been saved as excel
files." _
& vbCr & Timemsg & " Second(s)"
End Sub

The timer that you wanted I presumed was to calculate how long the
macro took. If this is wrong then you will need to change the Msgbox at
the end of the code. The workbook open line opens the text file but
doesn't delimit the columns at all, this was also a guess.

Any problems then give me a shout.

James