View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips[_6_] Bob Phillips[_6_] is offline
external usenet poster
 
Posts: 11,272
Default .Foundfiles Question

Hi Shane,

Yes, this alternative way

'---------------------------------------------------------------------------
Sub CopyFolder()
'---------------------------------------------------------------------------
Dim oFSO As Object
Dim sFolderSource As String
Dim sFolderTarget As String

Set oFSO = CreateObject("Scripting.FileSystemObject")
sFolderSource = "C:\My Documents"
sFolderTarget = "D:\Data"
If oFSO.FolderExists(sFolderSource) Then
If Not oFSO.FolderExists(sFolderTarget) Then
MkDir sFolderTarget
End If
oFSO.CopyFolder sFolderSource, sFolderTarget & "\"
End If
Set oFSO = Nothing
End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Shane" wrote in message
...
thanks bob,
can we simply copy the files without actually having to open them. much

like
a copy and past behind the scene?


"Bob Phillips" wrote in message
...
Not tested

Set fs = Application.FileSearch
With fs
.NewSearch
.LookIn = "C:\My Documents"
.Filename = "*.doc"
.SearchSubFolders = True
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles


If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) 0 Then
' MsgBox "There were " & .FoundFiles.Count & _
' " file(s) found."
For i = 1 To .FoundFiles.Count
Workbooks.Open .FoundFiles(i)
Activeworkbook.SaveAs "D:\" & Activeworkbook.Name
Activeworkbook.Close Savechanges:=False
Next i
Else
MsgBox "There were no files found."
End If


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Shane" wrote in message
...
Hi all,

Would you be able to advise how I could copy the files found by the
following macro to a another directory - say D:\Data

Set fs = Application.FileSearch
With fs
.NewSearch
.LookIn = "C:\My Documents"
.Filename = "*.doc"
.SearchSubFolders = True
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles


If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) 0 Then
' MsgBox "There were " & .FoundFiles.Count & _
' " file(s) found."
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "There were no files found."
End If
Thanks