放一段简单的循环一个文件夹下所有文件的方法. Sub LoopAllFolders() Dim sFileName As String Dim sPath As String Dim sExtention As String sPath = "G:\aa_rates\OutCADIS\" sextension = "xlsx" sFileName = Dir(sPath & "*." & sextension) Do While Len(sFileName) > 0 Workbooks.Open sPath & sFileName *********************** Workbooks(sFileName).Close sFileName = Dir() Loop End Sub
接上回, 循环找出所有的子文件夹, 套用到一起就可以找到所有的子文件夹下的所有文件. Sub loopAllFolders() Dim sPath As String, sFolders As Variant Dim i As Integer, j As Integer Dim f, fs, sf Set fs = CreateObject("Scripting.FileSystemObject") sPath = "n:\movie\" sFolders = Array(sPath) lNextFolder: Set f = fs.GetFolder(sPath) For Each sf In f.SubFolders j = j + 1 ReDim Preserve sFolders(j) sFolders(j) = sPath & sf.Name & "\" Next If i < j Then i = i + 1 sPath = sFolders(i) GoTo lNextFolder End If For i = 0 To j ***************** Next i End Sub