vba提取多层文件夹的*.xls文件,根据获取到的文件名及路径逐个打开*.xls文件,去判断某几列有多少个数据?

如题所述

    一、所需DOS命令

    dir [drive:][path] /b > [drive:][path]filename

    二、应用实例

    如下图,在D盘中,有一个名称为“TQIPC”的文件夹,这个文件夹里面,存放了很多的照片!

    请点击输入图片描述

    请点击输入图片描述

    现在,我们要做的就是,如何让这些照片的名称,自动显示在Excel或记事本里面!

    执行菜单操作“开始”→“运行”,弹出运行对话框,在里面输入 CMD 并按“确定”键,这个时候,会打开如下图的MS-DOS窗口!

    请点击输入图片描述

    请点击输入图片描述

    之后,如下图一样,输入DOS命令即可!

    请点击输入图片描述

    请点击输入图片描述

    上述的命令输入好之后,就按下回车键,命令就执行了,以上生成的是XLS文件;如果您想生成记事本TXT文件,那么,就输入下图的dos命令即可!

    请点击输入图片描述

    请点击输入图片描述

    就这样,非常简单,文件名的列表文件,就形成了!如下图!

    请点击输入图片描述

    请点击输入图片描述

    通过dos命令的操作,我们就得到了如上图的两个文件了。

    下面我们打开temp.xls文件看看,如下图!

    请点击输入图片描述

    请点击输入图片描述

    看到了没有,文件夹中的照片名称,自动就显示在excel表格中了!

    该dos命令非常强大,用好dos命令,可省去我们很多的功夫。

    三、知识扩展

    下面,再给大家一个例子,即,自动根据照片(根据人物名称),建立文件夹。

    如果某个文件夹下面,您存放的是某些人物的照片,并且,每个人物的照片,都使用其名字来命名;这个时候,如何要自动根据人物的自动建立其对应的文件夹,也相当方便!

    操作的方法是,先根据上述的方法,获取所有人物的照片的名称,生成EXCEL文件;

    然后,在人物名称列前面,插入一列,并输入MD;

    接下来,使用查找替换功能,将excel文件中的人物名称,去掉扩展名(只保留名字);

    最后,将excel的内容,复制粘贴到记事本中,现在,我们就得到了形如:“MD 人物名称” 这样的命令格式了。(md 文件名称,该命令格式,是使用来建立文件夹的命令,上述的操作,都是为此做准备!)

    将记事本文件保存成为形如:124.bat格式的文件,最后,双击此文件,文件夹名称就自动建立好了!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-29

下面过程入在工作表代码页中,查找文件夹"H:\e2\我的文档\ExcelFile\"下所有子文件夹下的所有*.xls,并把文件路径和名称列在当前表的B列,把所有文件中A列的行数统计在当前表的A列,效果如图。

(如果你判断的不是A列,自行修改;文件夹改为你要查找的文件夹即可。)

(不处理文件打开意外情况,如有密码,文件损坏,文件已打开等)

Sub 返回指定文件夹下所有xls文件的A列行数()

  Dim F, A&, B&, C&, W As Workbook

  On Error Resume Next

  Application.ScreenUpdating = False

  F = Split(CreateObject("Wscript.Shell").exec("cmd /c dir /a-d /b /s " & Chr(34) & "H:\e2\我的文档\ExcelFile\" & Chr(34)).stdout.readall, vbCrLf)

  A = UBound(F)

  For B = 1 To A

    If Right(F(B), 3) = "xls" Then

      C = C + 1

      Range("B" & C) = F(B)

      Set W = Workbooks.Open(F(B))

      Range("A" & C) = Application.WorksheetFunction.CountA(W.Application.ActiveWorkbook.ActiveSheet.Range("A:A"))

      W.Application.ActiveWorkbook.Close

    End If

  Next

  Application.ScreenUpdating = True

End Sub

第2个回答  2021-12-29

    一、所需DOS命令

    dir [drive:][path] /b > [drive:][path]filename

    二、应用实例

    如下图,在D盘中,有一个名称为“TQIPC”的文件夹,这个文件夹里面,存放了很多的照片!

    请点击输入图片描述

    请点击输入图片描述

    现在,我们要做的就是,如何让这些照片的名称,自动显示在Excel或记事本里面!

    执行菜单操作“开始”→“运行”,弹出运行对话框,在里面输入 CMD 并按“确定”键,这个时候,会打开如下图的MS-DOS窗口!

    请点击输入图片描述

    请点击输入图片描述

    之后,如下图一样,输入DOS命令即可!

    请点击输入图片描述

    请点击输入图片描述

    上述的命令输入好之后,就按下回车键,命令就执行了,以上生成的是XLS文件;如果您想生成记事本TXT文件,那么,就输入下图的dos命令即可!

    请点击输入图片描述

    请点击输入图片描述

    就这样,非常简单,文件名的列表文件,就形成了!如下图!

    请点击输入图片描述

    请点击输入图片描述

    通过dos命令的操作,我们就得到了如上图的两个文件了。

    下面我们打开temp.xls文件看看,如下图!

    请点击输入图片描述

    请点击输入图片描述

    看到了没有,文件夹中的照片名称,自动就显示在excel表格中了!

    该dos命令非常强大,用好dos命令,可省去我们很多的功夫。

    三、知识扩展

    下面,再给大家一个例子,即,自动根据照片(根据人物名称),建立文件夹。

    如果某个文件夹下面,您存放的是某些人物的照片,并且,每个人物的照片,都使用其名字来命名;这个时候,如何要自动根据人物的自动建立其对应的文件夹,也相当方便!

    操作的方法是,先根据上述的方法,获取所有人物的照片的名称,生成EXCEL文件;

    然后,在人物名称列前面,插入一列,并输入MD;

    接下来,使用查找替换功能,将excel文件中的人物名称,去掉扩展名(只保留名字);

    最后,将excel的内容,复制粘贴到记事本中,现在,我们就得到了形如:“MD 人物名称” 这样的命令格式了。(md 文件名称,该命令格式,是使用来建立文件夹的命令,上述的操作,都是为此做准备!)

    将记事本文件保存成为形如:124.bat格式的文件,最后,双击此文件,文件夹名称就自动建立好了!

本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网