Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1048|回复: 4

[已解决]提取文件夹内所有文件名的求助

[复制链接]
发表于 2023-1-12 16:12 | 显示全部楼层 |阅读模式
在网上找到的提取文件夹及子文件夹内所有文件名,现在有2个问题解决不了,1是加提取序号,2是要求不能提取本汇总表的文件名,怎么解决,求助朋友们

提取本文件夹及子文件夹内所有的文件名-问题.rar (44.57 KB, 下载次数: 2)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2023-1-12 17:10 | 显示全部楼层
新建文件夹 (2).rar (44.21 KB, 下载次数: 6)
回复

使用道具 举报

 楼主| 发表于 2023-1-12 18:06 | 显示全部楼层

感谢帮助,不过提取后出现2处不应该有的东西,看图

0001.png
回复

使用道具 举报

发表于 2023-1-12 22:13 | 显示全部楼层    本楼为最佳答案   
新建文件夹 (3).rar (44.19 KB, 下载次数: 10)

评分

参与人数 1学分 +2 收起 理由
hhxq001 + 2 我和小伙伴都惊呆了

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2023-1-13 10:09 | 显示全部楼层
Sub 提取包含子文件夹()
    With Application.FileDialog(msoFileDialogFolderPicker)    '获取用户选择文件夹的路径
        .Title = "请选择文件夹"
        .InitialFileName = ThisWorkbook.Path & "\"            '默认打开当前目录"
        If .Show = 0 Then MsgBox "本次提取已被取消!!": Exit Sub    '如果没有选择保存路径,则退出程序
        myPath$ = .SelectedItems(1)    '选择的文件路径赋值给变量P
    End With

    If Right(myPath, 1) <> "" Then myPath = myPath & ""
    [a:b].ClearContents    '清空汇总表的A-B列原有数据
    [a1] = "序号"    '汇总表的a1写入。。。。
    [b1] = "   文件名如下:"    '汇总表的b1写入。。。。
    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】
        If InStr(f.Name, ThisWorkbook.Name) Then GoTo 10 '要提取的文件名不能是本文件
        [B65536].End(3).Offset(1) = fld & "\" & f.Name    '在b列逐个列出文件名
        [B65536].End(3).Offset(, -1) = [A65536].End(3).Row '在a列填写序号
10  Next
    For Each fd In fld.SubFolders    '遍历当前文件夹内所有【子文件夹.SubFolders】
        Call ListAllFso(fd.Path)    '注意此时的路径变量已经改变为【子文件夹的路径fd.Path】
        '注意重点在这里: 继续向下调用递归过程【遍历子文件夹内所有文件文件夹对象】
    Next
    ActiveSheet.Range("a1:a1000").HorizontalAlignment = xlCenter 'a列数据=水平居中
End Function

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-29 09:10 , Processed in 0.278496 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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