广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    通过VBA提取文件夹下边所有文件信息

    来源:网络收集  点击:  时间:2024-08-03
    【导读】:
    最近遇到一个问题:如何将文件夹里面(含子文件夹)相关信息(如:路径、文件名、类型、创建时间、修改时间等)导入到Excel表格?虽然之前曾介绍过使用cmd命令的形式提取相关信息,但后续处理起来也比较麻烦,有些信息也提取不到。网上找了好多,几乎没有找到好用的,经过一段时间的思考之后,终于找到了一些窍门。工具/原料more操作设备:计算机操作系统:Windows 7办公软件:Excel 2010方法/步骤1/5分步阅读

    新建一个Excel工作表后打开,再按下【Alt+F11】组合键调出VBE编辑器。

    2/5

    点击【插入】、【模块】。

    3/5

    在模块的代码框里面输入以下VBA程序:

    Sub Getfiles_All_Name()

    Dim x1, x2, x3, x4, x5, arr

    On Error Resume Next 忽略运行过程中可能出现的错误

    Application.ScreenUpdating = False 关闭显示更新,提高运行速度

    x1 = 2 从第2行开始

    Set mysheet1 = ThisWorkbook.Worksheets(Sheet1) 定义Sheet1

    Set fs = CreateObject(Scripting.FileSystemObject) 访问计算机文件

    mysheet1.Cells(x1, 1) = D:\ABCD 查找该文件夹《ABCD》下面所有的文件

    For x2 = 2 To 1000000 预计的文件夹数量

    If mysheet1.Cells(x2, 1) Then

    Set fo = fs.getfolder(mysheet1.Cells(x2, 1)) 该路径下的文件夹

    For Each fd In fo.subfolders 获取该文件夹下面所有的子文件夹

    x1 = x1 + 1

    arr = Array(fd.Path, fd.Name, fd.Type, fd.DateCreated, fd.DateLastModified, fd.Size)

    获取文件路径、名称、类型、创建时间、最后修改时间、大小

    For x5 = 0 To 5

    mysheet1.Cells(x1, x5 + 1) = arr(x5) 逐一写入单元格

    Next

    Next

    Else

    Exit For 退出For循环

    End If

    Next

    x4 = x1

    For x3 = 2 To x4

    Set fo = fs.getfolder(mysheet1.Cells(x3, 1))

    Set fi = fo.Files

    For Each fe In fi 获取该文件夹下面所有的子文件

    x1 = x1 + 1

    arr = Array(fe.Path, fe.Name, fe.Type, fe.DateCreated, fe.DateLastModified, fe.Size)

    For x5 = 0 To 5

    mysheet1.Cells(x1, x5 + 1) = arr(x5)

    Next

    Next

    Next

    Application.ScreenUpdating = True 恢复显示更新

    End Sub

    4/5

    检查无误后,在功能区里面点击“运行”图标运行程序。(或者按下【F5】键运行程序)

    5/5

    稍等片刻,将会在Excel工作表上面看到要提取的相关信息。(主要与文件夹下面的文件数量有关)

    知识要点分享1/1

    (1)“For Each……In……Next”虽然可以通过subfolders获取子文件夹信息,但子文件夹里面的文件夹及相关信息又无法获取。

    (2)既然不能通过“For Each……In……Next”提取所有信息,可以先提取文件夹的相关信息,再通过文件夹信息提取内部信息。

    (3)结合“For……To……Next”使用数组函数Array可以简化一些程序。

    注意事项

    操作界面及功能可能因操作系统、软件版本不同而存在差异。

    个人经验,仅供参考。

    使用VBA提取文件夹里面的信息提取码:6k10复制并下载VBAEXCEL提取文件信息
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.ff371.cn/art_1057179.html

    相关资讯

    ©2019-2020 http://www.ff371.cn/ 国ICP备20009186号06-02 10:51:09  耗时:0.708