这里介绍两种方法一种FileSystemObject方法一种dir方法 ,分别使用for each循环和do while循环,希望大家2个都自己调试一下代码截图如下 不明白的同学可以评论区留言
FileSystemObject方法
'郑广学 2020.6.19 Excel880实例教学网Sub Get_SubFolder_Names() '提取文件夹名称 Dim RtFolder, nlFolder Dim xrow As Long RtFolder = ThisWorkbook.Path & "" '这里指定你的根目录 ' RtFolder = "C:甥敳獲AdministratorDesktop" '这里指定你的根目录 xrow = 0 With CreateObject("Scripting.FileSystemObject").GetFolder(RtFolder) For Each nlFolder In .subfolders '遍历子文件夹 ActiveCell.Offset(xrow) = nlFolder.Name '每次在最后一个单元格输出结果 xrow = xrow + 1 Next nlFolder End WithEnd Sub
Dir方法
'郑广学 2020.6.19 Excel880实例教学网Sub GetFileByDir() '用dir函数遍历 i = 1 path1 = ThisWorkbook.Path & "" '这里指定你的根目录 'file1 = Dir(path1 & "*.xlsm") file1 = Dir(path1 & "") Do While file1 <> "" '循环dir子文件 Cells(i, 1) = file1 '逐行输出结果 i = i + 1 file1 = Dir LoopEnd Sub