eccoti un esempio di come lo farei io (a<ggiungi l riferimento a Microsoft Scripting RunTime):
codice:Sub Esegui() Dim FSO As Scripting.FileSystemObject, Fold As Scripting.Folder, strNamePadre As String Set FSO = New Scripting.FileSystemObject strNamePadre = "c:\" Set Fold = FSO.GetFolder(strNamePadre) Call GuardaFileSCartelle(Fold) Set Fold = Nothing Set FSO = Nothing End Sub Sub GuardaFileSCartelle(oFold As Scripting.Folder) Dim oSFold As Scripting.Folder, oFile As Scripting.File For Each oFile In oFold.Files If LCase(Right(oFile.Name, 3)) = "xls" Then Call EseguiExcel(oFile.Path) Next For Each oSFold In oFold.SubFolders Call GuardaFileSCartelle(oSFold) Next End Sub Sub EseguiExcel(strPathFile As String) Dim oWkb As Workbook Set oWkb = Application.Workbooks.Open(strPathFile) 'fai quello che devi fare oWkb.Close Set oWkb = Nothing End Sub

Rispondi quotando