ExcelVBA 获取每一层文件夹下面的文件
孙兴华zz
编辑于 2023年07月31日 03:33
收录于文集
共140篇

网友提问:

回答网友问题:

今天讲的方法在所有VBA中都通用

我不建议您这样做,VBA和Python处理数据的速度不同,本来VBA就慢,您再递归很多层,速度只能慢上加慢。数据量小时体会不到,等数量大了就理解了。

我在桌面上准备了一个文件夹,名子叫第一层

这个我截图就不方便了,我做了一个思维导图

我们需要得到蓝色也就是有后缀名的文件名路径

思路很简单,先将最外层的文件夹路径传进去,得到包含文件和子文件夹,再将子文件夹传回去重来一遍,得到子文件夹下面的文件和它的子文件夹,以此类推

代码块
JavaScript
自动换行
复制代码
Sub shishi()
路径 = "C:\Users\sunxinghua\Desktop\第一层"
递归 路径
End Sub


Function 递归(路径)
    Set FSO对象 = CreateObject("Scripting.FileSystemObject")
    Set 文件夹 = FSO对象.GetFolder(路径)
    For Each i In 文件夹.Files
        Debug.Print i
    Next
    For Each j In 文件夹.SubFolders
        递归 j
    Next
End Function
复制成功

以上知识在讲FSO对象时讲过


ExcelVBA及WordVBA篇:https://www.bilibili.com/video/BV1rt4y1a72y​

Access篇+AccessVBA篇:https://www.bilibili.com/video/BV1tf4y117Sh​