EXECL中使用VBA生成目录树和文件结构
来源:网络收集 点击: 时间:2024-03-15新建并打开一个Excel文件,右击下方“sheet1”选择“查看代码”。

在VBA窗口中输入以下代码:
Sub ListFilesTest()
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then myPath$ = .SelectedItems(1) Else Exit Sub
End With
If Right(myPath, 1) Then myPath = myPath
= 清空A列
Call ListAllFso(myPath) 调用FSO遍历子文件夹的递归过程
End Sub
Function ListAllFso(myPath$) 用FSO方法遍历并列出所有文件和文件夹名的【递归过程】
Set fld = CreateObject(Scripting.FileSystemObject).GetFolder(myPath)
用FSO方法得到当前路径的文件夹对象实例 注意这里的【当前路径myPath是个递归变量】
For Each f In fld.Files 遍历当前文件夹内所有【文件.Files】
.End(3).Offset(1) = f.Name 在A列逐个列出文件名
Next
For Each fd In fld.SubFolders 遍历当前文件夹内所有【子文件夹.SubFolders】
.End(3).Offset(1) = fd.Path 在A列逐个列出子文件夹名
.End(3).Interior.ColorIndex = 6
Call ListAllFso(fd.Path) 注意此时的路径变量已经改变为【子文件夹的路径fd.Path】
注意重点在这里: 继续向下调用递归过程【遍历子文件夹内所有文件文件夹对象】
Next
End Function

点击上方工具栏三角形的运行按钮,在弹出的宏窗口中再点“运行”。


然后选择需要生成目录结构的根文件夹,比如我这里选择的是“D:\SOFT”,按“确定”运行VBA。

接下来关闭VBA窗口,就可以看到在sheet1里已经生成好了D:oft下的目录结构,其中标黄的为子文件夹,其它的则是文件夹下的所有文件。

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_354482.html