VBA获取某文件夹下所有文件和子文件目录的文件

VBA获取某文件夹下所有文件和子文件目录的文件,第1张

【引用位置】 https://blog.csdn.net/pashine/article/details/42100237

'-------------------------------------------

'获取某文件夹下的所有Excel文件

'-------------------------------------------

Sub getExcelFile(sFolderPath As String)

On Error Resume Next

Dim f As String

Dim file() As String

Dim x

k = 1

ReDim file(1)

file(1) = sFolderPath &""

End Sub

'-------------------------------------------

'获取某文件夹下的所有文件和子扰者好目录下的文件

'-------------------------------------------

Sub getAllFile(sFolderPath As String)

'Columns(1).Delete

On Error Resume Next

Dim f As String

Dim file() As String

Dim i, k, x

x = 1

i = 1

k = 1

ReDim file(1 To i)

file(1) = sFolderPath &""

'-- 获得所有子目录

Do Until i >k

f = Dir(file(i), vbDirectory)

Do Until f = ""

If InStr(f, ".") = 0 Then

k = k + 1

ReDim Preserve file(1 To k)

file(k) = file(i) &f &""

End If

f = Dir

Loop

i = i + 1

Loop

'-- 获得所有子目录下的所有文件

For i = 1 To k

f = Dir(file(i) &" . ")'通嫌塌配符 . 表示所有文件,*.xlsx Excel文件

Do Until f = ""

'Range("a" &x) = f

Range("a" &x).Hyperlinks.Add Anchor:=Range("缓铅a" &x), Address:=file(i) &f, TextToDisplay:=f

x = x + 1

f = Dir

Loop

Next

End Sub

打开文件如下:

Workbooks.Open ("C:\对账单\对帐单.xlsx")

这里你可以把“C:\对账单\”换成你的绝对路径,

你可以用:a = ThisWorkbook.Path

a = ThisWorkbook.Path

Workbooks.Open ("" &a &"&" \ "&对帐单.xlsx")

来获取你当前表的绝对路径,然后再打开,因为不知行友道你的具体情况,如果有问题可以hai我

如果当前文件夹下还有A文件夹可以用代码:

Workbooks.Open ("" &液敬 a &"&" \ A\"&b.xlsx")

Microsoft Excel是Microsoft为使用Windows和Apple Macintosh *** 作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图档埋槐表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。在1993年,作为Microsoft Office的组件发布了5.0版之后,Excel就开始成为所适用 *** 作平台上的电子制表软件的霸主。

一、所需DOS命令

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

二、应用实例

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

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

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

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

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

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

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

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

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

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

三、知识扩展

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

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

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

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

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

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12256309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存