Wukuze
Попробуй так:
Sub Main()
Dim FS As FileSearch
Dim FilePath As String, FileSpec As String
Dim i As Integer
FilePath = "C:\Temp\" 'пусть это папка с файлами"
FileSpec = "*.xls" 'если нужно - поставить фильтр
Set FS = Application.FileSearch
With FS
.NewSearch
.LookIn = FilePath
.FileName = FileSpec
.Execute
If .FoundFiles.Count = 0 Then
MsgBox "Файлы не найдены"
Exit Sub
End If
End With
For i = 1 To FS.FoundFiles.Count
Call ProcessFiles(FS.FoundFiles(i))
Next i
End Sub
Sub ProcessFiles(FileName As String)
Workbooks.Open FileName:=FileName
'исполняемый код для каждого файла сюда
ThisWorkbook.Close savechanges:=True
End Sub
Попробуй так:
Sub Main()
Dim FS As FileSearch
Dim FilePath As String, FileSpec As String
Dim i As Integer
FilePath = "C:\Temp\" 'пусть это папка с файлами"
FileSpec = "*.xls" 'если нужно - поставить фильтр
Set FS = Application.FileSearch
With FS
.NewSearch
.LookIn = FilePath
.FileName = FileSpec
.Execute
If .FoundFiles.Count = 0 Then
MsgBox "Файлы не найдены"
Exit Sub
End If
End With
For i = 1 To FS.FoundFiles.Count
Call ProcessFiles(FS.FoundFiles(i))
Next i
End Sub
Sub ProcessFiles(FileName As String)
Workbooks.Open FileName:=FileName
'исполняемый код для каждого файла сюда
ThisWorkbook.Close savechanges:=True
End Sub