20170906xlVBA_RecursionGetFiles

Dim Dic As Object
Sub GetFileName()
    Dim FolderPath As String
    Set Dic = CreateObject("Scripting.Dictionary")
    FolderPath = ThisWorkbook.Path & Application.PathSeparator & "2011年报表"
    RecursionFolder FolderPath
    Set Rng = ThisWorkbook.Worksheets(1).Range("A1")
    Rng.Resize(Dic.Count, 1).Value = Application.WorksheetFunction.Transpose(Dic.Items)
    
End Sub

Sub RecursionFolder(ByVal FolderPath As String)
    Dim Fso As Object
    Dim MainFolder As Object
    Dim OneFolder As Object
    Dim OneFile As Object
    Dim Index As Long
    
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set MainFolder = Fso.GetFolder(FolderPath)
    If MainFolder.Files.Count > 0 Then
        For Each OneFile In MainFolder.Files
            Index = Dic.Count + 1
            Dic(Index) = OneFile.Name
            Debug.Print Index; OneFile.Name
        Next
    End If
    For Each OneFolder In MainFolder.SubFolders
        RecursionFolder OneFolder.Path
    Next
    Set Fso = Nothing
    Set MainFolder = Nothing
End Sub

  

转载于:https://www.cnblogs.com/nextseven/p/7486836.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值