ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2861|回复: 19

[求助] 这个强大的目录生成,可以加个获取条件吗

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-9-17 11:09 | 显示全部楼层 |阅读模式
附件中自动获取很好用很强大,只是获取的是全部的文件名,我想获取某关键词的文件 名如:.XLS、 X.rar 等关键字的文件名可以自己设定。


纯小白一只不知道怎么下手,大老帮帮忙谢谢

文件目录自动生成.rar

49.98 KB, 下载次数: 32

头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2019-9-17 12:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

TA的精华主题

TA的得分主题

发表于 2019-9-17 14:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
直接说需要什么样的要求,改别人的比较麻烦

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-9-17 14:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
约定的童话 发表于 2019-9-17 14:05
直接说需要什么样的要求,改别人的比较麻烦

我要提取指定目录下的所有子目录的文件名(要可以设定提取指定关键字的文件名),打开表格可以设定自动更新或手动更新,如上附件基本可以达到要求,就是不能设定提取指定关键字的文件名。

TA的精华主题

TA的得分主题

发表于 2019-9-17 15:01 | 显示全部楼层
qqhsx 发表于 2019-9-17 14:22
我要提取指定目录下的所有子目录的文件名(要可以设定提取指定关键字的文件名),打开表格可以设定自动更 ...

可以模拟几个文件试一下,结果也模拟一下

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-9-17 15:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
约定的童话 发表于 2019-9-17 15:01
可以模拟几个文件试一下,结果也模拟一下

就像我发附件那样,麻烦大老看看

TA的精华主题

TA的得分主题

发表于 2019-9-17 16:36 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-9-17 16:43 | 显示全部楼层
YZC51 发表于 2019-9-17 16:36
文件打开错误!

我这Excel 2010版的打开没出现任何错误提示呀,我另存一个版本你再试试呀

文件目录自动生成.rar

66.11 KB, 下载次数: 6

TA的精华主题

TA的得分主题

发表于 2019-9-17 16:56 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
qqhsx 发表于 2019-9-17 16:43
我这Excel 2010版的打开没出现任何错误提示呀,我另存一个版本你再试试呀

可以打开了
这样试试
Sub test()
    i = tmp_rows
    j = 1
    '===============================================================
    '浏览目录
    spath = ""
    Application.FileDialog(msoFileDialogFolderPicker).InitialFileName = spath
    With Application.FileDialog(msoFileDialogFolderPicker)
         .ButtonName = "确定"
        If .Show = True Then
            spath_tmp = .SelectedItems(1)
            spath = .SelectedItems(1)
        End If
    End With
     
    '==================================================================
        Range("a1:j1").Merge
        Cells(1, 1) = "文件夹名"
        Cells(1, 11) = "文件名称"
        Cells(1, 12) = "文件大小"
        Cells(1, 13) = "类型"
        Cells(1, 14) = "创建时间"
        Cells(1, 15) = "修改时间"
    ct_spath_tmp = spath
    If Application.WorksheetFunction.CountIf(Sheet3.Range("B:B"), ct_spath_tmp) = 1 Then
        MsgBox "已有该目录信息,将退出."
        Exit Sub
    End If
   
    If spath = "" Then Exit Sub
    Call 展开文件夹
    Call 获得当前文件夹名
'    spath = spath & "\"
    spath = spath & "\*.xl*"
    Call 获取当前文件名
    Call getfolder(spath)
    Call 设置目录线
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-9-17 18:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
YZC51 发表于 2019-9-17 16:56
可以打开了
这样试试
Sub test()

大神厉害,这个代码可以
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 04:30 , Processed in 0.046630 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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