VBA 选择指定文件夹,将文件夹名放入A1,如果有文件,则将内部文件名放入第二列

Public Function FindAllFiles(sFolder As Folder)

    Dim f As File

    Dim oFld As Folder

    For Each f In sFolder.Files                      '遍历目录下所有文件
    
       If index >= 1 Then  '跳过开头没有值的下标
        Worksheets(1).Range("B" & index).Value = f.Path                '将文件路径及文件名填充到表的B列
        
        End If
        index = index + 1
    Next

    For Each oFld In sFolder.SubFolders              '遍历子文件夹

        FindAllFiles oFld                            '嵌套调用自身

    Next

End Function
Sub 遍历选定目录()

    Dim fso As New FileSystemObject

    Dim sFolder As Folder, sPath As String

    Dim dig As Object
    Dim index As Long

    Set dig = Application.FileDialog(msoFileDialogFolderPicker)

    If dig.Show = -1 Then sPath = dig.SelectedItems(1)   '弹出目录选择窗口
    Worksheets(1).Range("A:A").ClearContents '清空A列
     Worksheets(1).Range("A1").Value = sPath '打印文件夹名
    

    If fso.FolderExists(sPath) Then                      '判断文件是否存在

        Set sFolder = fso.GetFolder(sPath)

        index = 1                                            '初始化

        Worksheets(1).Range("B:B").ClearContents

        FindAllFiles sFolder                             '调用函数

        Range("B1").Select

    Else

        Debug.Print (Now & " 未选择正确的目录!")         '控制台打印日志

    End If

End Sub
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值