MS Excel VBA – 获取声明文件夹的子文件夹中的文件名

我试图循环通过一个文件夹内的所有子文件夹,编译文件的所有名称。 我遇到了一些麻烦,因为我已经从一个只能循环一个文件夹并编译文件名的macros中调整了这些代码。 非常感谢您的时间!

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 

结束小组

在以下网站find答案:

https://www.extendoffice.com/documents/excel/2994-excel-list-all-files-in-folder-and-subfolders.html

希望它可以借给一些help..very用户友好!

在你发布这个链接之前,我正在研究这个代码,并且发表了我的工作。 所以我检查了你发布的链接。 我相信我想发布的代码是简洁的,并且更好地解决了这个问题。 因此,你在这里

步骤1.参考

此代码需要参考

第2步。 代码。

 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