2017-03-01 38 views
1

我想循環瀏覽文件夾內的所有子文件夾,編譯文件的所有名稱。我遇到了一些麻煩,因爲我已經從一個只能循環一個文件夾並編譯文件名的宏中調整此代碼。非常感謝您的時間!MS Excel VBA - 獲取聲明的文件夾的子文件夾內的文件名

Sub FindFiles() 

Cells(1, 1).Select 

Dim F As String 
Dim G As String 

F = Dir("C:\Users\z003nttv\Desktop\Folder\" & "*") 
Do While Len(F) > 0 

Do While Len(G) > 0 
G = Dir(F & "*.*") 
ActiveCell.Formula = G 
ActiveCell.Offset(1, 0).Select 
G = Dir() 
Loop 
F = Dir() 
Loop 

末次

回答

1

在您發佈鏈接併發布我的工作之後,我正在處理此代碼。所以我檢查了你發佈的鏈接。我相信我想發佈的代碼很簡潔&可以更好地解決這個問題。因此,在這裏你去

步驟1.參考

References needed for this code

第二步。代碼。

Sub FindFiles() 
Dim fso As FileSystemObject 
Dim Folder As Folder 
Dim Files As Files 
Dim path, s As String 

'' Input Path : Please change as needed 
path = Sheets("Sheet1").Cells(1, 2).Value 

Set fso = New FileSystemObject 
Set Basefolder = fso.GetFolder(path) 
Set SubFolders = Basefolder.SubFolders 
Dim i As Integer 
i = 1 
For Each Folder In SubFolders 
    Set Files = Folder.Files 
    For Each File In Files 
     With Sheets("Sheet1") 
     .Cells(i, 1).Value = Folder 
     .Cells(i, 2).Value = File 
     i = i + 1 
    Next File 
Next Folder 
End Sub 
相關問題