vba读取文件夹及子文件夹下所有文件名
时间: 2023-06-19 16:10:41 浏览: 429
以下是 VBA 代码示例,可以读取指定文件夹及其子文件夹下的所有文件名:
```vb
Sub GetFiles()
Dim fso As Object
Dim folder As Object
Dim subFolder As Object
Dim file As Object
Dim i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\test") '指定文件夹路径
i = 1 '行号从1开始
For Each subFolder In folder.SubFolders '遍历子文件夹
For Each file In subFolder.Files '遍历子文件夹中的文件
ThisWorkbook.Sheets("Sheet1").Cells(i, 1).Value = file.Path '将文件路径写入 Sheet1 中的第 i 行第 1 列
i = i + 1 '行号加1
Next
Next
For Each file In folder.Files '遍历文件夹中的文件
ThisWorkbook.Sheets("Sheet1").Cells(i, 1).Value = file.Path '将文件路径写入 Sheet1 中的第 i 行第 1 列
i = i + 1 '行号加1
Next
Set fso = Nothing
Set folder = Nothing
Set subFolder = Nothing
Set file = Nothing
End Sub
```
在代码中,需要将 `C:\test` 换成你要读取的文件夹路径。同时,需要在 Excel 中新建一个名为 `Sheet1` 的工作表,用于存储文件路径。如果要将文件路径存储到其他位置,可以修改代码中的 `ThisWorkbook.Sheets("Sheet1").Cells(i, 1).Value = file.Path` 语句。
阅读全文