利用VBA轻松制作文件目录

时间:2022-09-19 05:27:24

【前言】利用VBA轻松制作文件目录由文秘帮小编整理而成,但愿对你的学习工作带来帮助。在上述代码中,共编写了两个过程,分别为FileList和ml。FileList这个过程的作用是遍历参数Path所代表的文件夹及其子文件夹中的文件,并把根据子文件夹的名字在Excel中建立工作表。其中,在FileList过程中,FileSystemObject的简称是FSO,当然也就是我们俗称的FSO组件...

利用VBA轻松制作文件目录

实例描述:小张是一位影视作品爱好者,在电脑硬盘上分门别类地收藏了大量影视作品(图1)。他想将各个类别文件夹中影视资料的文件名制成目录存放到Excel工作表中。如果一个一个文件名去复制粘贴到工作表中,这样的工作量是可想而知的。那有没有什么好的办法来帮助小张解决这个难题呢?

实例分析:试想,既然不同类型的影片存放在不同的文件夹中,那么就可以遍历每个文件夹中的影视文件并获取它们的文件名,然后在不同的工作表中进行查找。如果工作表中已经存在,就不要添加了,否则就在相应的工作表中添加一条件记录。那如何实现相应的任务呢?

vba遍历文件夹

这个过程主要是在Excel中编写VBA代码,通过代码遍历文件夹中的每个文件并获取相应的文件名。一提到编写代码,你可能就有些犯晕了。其实,程序代码也没那么神秘,在这里你可先将我的代码输入或复制到你的文件中,然后看看我的解释,一切就OK了!

首先,打开Excel 2003,点击“工具宏Visual Basic编辑器”菜单,这时就会弹出Microsoft Visual Basic程序窗口,也就是VBA的编辑器。在VBA编辑器窗口中选择“插入模块”菜单,这时在右侧可以看到空白的代码编辑区域,输入或贴入图中代码(图2)。代码下载地址:http://.cn/u/ish?uid=1704202287

在上述代码中,共编写了两个过程,分别为FileList和ml。FileList这个过程的作用是遍历参数Path所代表的文件夹及其子文件夹中的文件,并把根据子文件夹的名字在Excel中建立工作表。其中,在FileList过程中,FileSystemObject的简称是FSO,当然也就是我们俗称的FSO组件了。

FSO,正如UFO般令人激动、令人神往,当然更多的是让人欢喜让人忧。君不见某空间服务商广告:100MB空间只要60RMB/年,支持数据库,支持什么什么……一问不支持FSO,立马泄气。该组件可以检测并显示出系统驱动器的信息分配情况,还能够创建、改变、移动和删除文件夹,并能探测一些给定的文件夹是否存在。若存在,还能提取出该文件夹的信息,如名称、被创建或最后一次修改的日期,等等。FSO还使得对文件的处理变得很容易。

正如其他组件的建立一样,FSO的引用也必须建立连接。通过语句:

Set fso=CreateObject("Scripting.FileSystemObject")

使FSO组件可以被FSO变量调用,即可以通过变量FSO来处理驱动器上的文件或文件夹。

制作便于操作的按钮

为了操作方便,我们可把上面编写的过程放到一个按钮上。首先,在Excel中选择“视图工具栏窗体”菜单,在“窗体”工具栏上点击“按钮”,按住鼠标左键根据需要拖出一个按钮。在弹出的“指定宏”窗口中,选择过程ml,确定后退出。最后,在按钮的标签处单击,修改按钮的标签,如更改为“生成目录”。

最后,点击“生成目录”按钮,就会发现工作簿中添加了以影视作品分类文件夹命名的工作表,并且每个工作表中都生成了相应的目录(图3)。

上一篇:一枚文胸 第2期 下一篇:省时又省力 快速获取PPT中的文字