邓州门户网,邓州在线 邓州门户网手手机app
  邓州吧   IT电脑·游戏   利用VBA轻松制作文件目录
返回列表
查看: 2173|回复: 0
收起左侧

[技巧] 利用VBA轻松制作文件目录

[复制链接]
发表于 2014-11-19 16:56:31 | 显示全部楼层 |阅读模式
在Excel中利用VBA能够轻松遍历文件夹中的每个文件,并能将获取的每个文件名字添加到单元格中,制成文件目录。
实例描述:小张是一位影视作品爱好者,在电脑硬盘上分门别类地收藏了大量影视作品(图1)。他想将各个类别文件夹中影视资料的文件名制成目录存放到Excel工作表中。如果一个一个文件名去复制粘贴到工作表中,这样的工作量是可想而知的。那有没有什么好的办法来帮助小张解决这个难题呢?
1415061863315.png

实例分析:我们想,既然不同类型的影片存放在不同的文件夹中,那么我们可以遍历每个文件夹中的影视文件并获取它们的文件名,然后在不同的工作表中进行查找。如果工作表中已经存在,就不要添加了,否则就在相应的工作表中添加一条件记录。那如何实现相应的任务呢?请跟我来做吧!
用VBA遍历文件夹
这个过程主要是在Excel中编写VBA代码,通过代码遍历文件夹中的每个文件并获取相应的文件名。一提到编写代码,你可能就有些犯晕了。其实,程序代码也没那么神秘,在这里你可先将我的代码输入或复制到你的文件中,然后看看我的解释,一切就OK了!
首先,打开Excel 2003,点击“工具→宏→Visual Basic编辑器”菜单,这时就会弹出Microsoft Visual Basic程序窗口,也就是VBA的编辑器。在VBA编辑器窗口中选择“插入→模块”菜单,这时在右侧可以看到空白的代码编辑区域,我们可以尝试着输入图中代码(图2)。代码下载地址:http://iask.sina.com.cn/u/ish?uid=1704202287
1415061863315.png

在上述代码中,共编写了两个过程,分别为FileList和ml。FileList这个过程的作用是遍历参数Path所代表的文件夹及其子文件夹中的文件,并把根据子文件夹的名字在Excle中建立工作表。其中,在FileList过程中,FileSystemObject的简称是FSO,当然也就是我们的俗称FSO组件了。FSO,正如UFO般令人激动、令人神往,当然更多的亦是让人欢喜让人忧。君不见某空间服务商广告:100MB空间只要60RMB/年,支持数据库,支持什么什么……一问不支持FSO,立马泄气。该组件可以检测并显示出系统驱动器的信息分配情况;还能够创建、改变、移动和删除文件夹,并能探测一些给定的文件夹是否存在,若存在,还能提取出该文件夹的信息,如名称、被创建或最后一次修改的日期,等等。FSO还使得对文件的处理变得很容易。
正如其他组件的建立一样,FSO的引用也必须建立连接。通过语句:
Set fso=CreateObject("Scripting.FileSystemObject"),使FSO组件可以被fso变量调用,即可以通过变量fso来处理驱动器上的文件或是文件夹了。
制作便于操作的按钮
为了操作方便我们可把上面我们编写的过程放到一个按钮上。首先,我们在Excel中选择“视图→工具栏→窗体”菜单,在“窗体”工具栏上点击“按钮”,按住鼠标左键根据需要拖出一个按钮。在弹出的“指定宏”的窗口中,我们选择过程ml,确定后退出。最后,在按钮的标签处单击,修改按钮的标签,如更改为“生成目录”。
最后,点击“生成目录”按钮,就会发现工作簿中添加了以影视作品分类文件夹命名的工作表,并且每个工作表中都生成了相应的目录(图3)。
1415061863315.png

小提示:激活VBA代码
要想使这些事件即VBA代码起作用,我们需要调整宏的安全性。选择“工具→宏→安全性”,把宏的安全性设置为“低”。
          
门户网就是您的家!欢迎您常回家看看!如果您喜欢邓州门户网,请介绍给您身边的朋友!有了您的支持,门户网才能走得更远!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册通行证

收藏:0 | 帖子:4714

广播台

精彩推荐

邓州市,邓州网,邓州吧,邓州论坛,邓州门户网
手机客户端
邓州门户网公众微信
侵权举报:本页面所涉内容为用户发表并上传,相应的法律责任由用户自行承担;本网站仅提供存储服务;如存在侵权问题,请权利人与本网站联系删除!举报电话:0377-62265777