Excel精英培训网

 找回密码
 注册

QQ登录

只需一步,快速开始

工作中常用的Excel函数公式,全印在一张超大鼠标垫上
查看: 419|回复: 2

[已解决] 用EXCEL一次列出某文件夹内所有文件名怎么做?

[复制链接]
发表于 2019-11-28 10:27 | 显示全部楼层 |阅读模式
名位大侠:
我现在要检查某个文件夹内所有子文件夹及子文件夹内所有的内容,一个个一点的话,太麻烦了。我记得以前看到过人家介绍用excel可以列出某文件夹内所有的文件名称的。有没有知道具体怎么做的朋友?感谢!
发表于 2019-11-28 11:02 | 显示全部楼层
Option Explicit

Dim fso, A(1 To 10 ^ 7, 1 To 1), i

'入口
Sub test()
    Dim p
    Set fso = CreateObject("scripting.filesystemobject")
    p = getPath()
    If p <> "" Then
        i = 0
        Call dg(p)
        Cells.Clear
        [A1].Resize(i) = A
    End If
End Sub

'浏览文件夹
Function getPath()
    Dim sh, obj
    Set sh = CreateObject("Shell.Application")
    Set obj = sh.BrowseForFolder(0, "", 0, "")    '句柄,标题,方式,顶层文件夹
    If Not obj Is Nothing Then getPath = obj.self.Path
End Function

'遍历子文件夹
Sub dg(p)
    Dim x, fd, f
    Set x = fso.GetFolder(p)
    For Each fd In x.SubFolders
        dg fd.Path
    Next
    For Each f In x.Files
        Call gn(f)
    Next
End Sub

'功能
Sub gn(f)
    i = i + 1
    A(i, 1) = f
End Sub

1.rar (16.32 KB, 下载次数: 12)
回复

使用道具 举报

 楼主| 发表于 2019-11-28 12:13 | 显示全部楼层
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2020-9-19 13:58 , Processed in 0.050001 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表