- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VBA制作文件目录
在Excel中利用VBA能够轻松遍历文件夹中的每个文件,并能将获取的每个文 件名字添加到单元格中,制成文件目录。
实例描述:/」张是一位影视作品爱好者,在电脑硬盘上分门别类地收藏了大量影 视作品(图1)。他想将各个类别文件夹中影视资料的文件名制成目录存放到
Excel工作表中。如果一个一个文件名去复制粘贴到工作表中,这样的工作量是
可想而知的。那有没有什么好的办法来帮助小张解决这个难题呢?
文件Q 編辑住〕查看(V)收藏⑷ 工具⑴ 帮助00
后退▼搜索
后退▼
搜索
地址(D) £JE:\电影收藏\动作片
文件夹电影收議
文件夹
电影收議
心爱情片
D搞笑片
心记录片
B历史片
□战争片
+ y BACKUP (F:) 田Q DVD驼动器(G:) ra fl. 生il面桁
X 暗杀名单.rmwb
fXj 固风云2 -rmvb
嗣?功夫梦.rmvb
眄狙击杀手.rmvb 审^猛龙过江.rmvb I圏无间道风云.5讥《 圏永爾天下.rmvb 阿这个杀手不太冷.rmvb
实例分析:我们想,既然不同类型的影片存放在不同的文件夹中,那么我们可以 遍历每个文件夹中的影视文件并获取它们的文件名,然后在不同的工作表中进行 查找。如果工作表中已经存在,就不要添加了 ,否则就在相应的工作表中添加_ 条件记录。那如何实现相应的任务呢?请跟我来做吧!
用VBA遍历文件夹 这个过程主要是在Excel中编写VBA代码,通过代码遍历文件夹中的每个文件 并获取相应的文件名。一提到编写代码,你可能就有些犯晕了。其实,程序代码 也没那么神秘,在这里你可先将我的代码输入或复制到你的文件中,然后看看我 的解释,一切就0K 了 !
首先,打开Excel 2003 ,点击〃工具一宏-Visual Basic编辑器菜单,这时就
会弹出Microsoft Visual Basic程序窗口,也就是VBA的编辑器。在VBA编辑
器窗口中选择〃插入-模块〃菜单,这时在右侧可以看到空白的代码编辑区域, 我们可以尝试着输入图中代码(图2 )。代码下载地址:
.en/u/ish7uid = 1704202287
Sub FileLiit OTath)Set f€ - Crtl?Obj?et rScrptinf PileSyslMObjecC*) Set objFolder ? £*o GetPolder OTath)Set objSubFolderx - objFoldtr Subfoldtr^
Sub FileLiit OTath)
Set f€ - Crtl?Obj?et rScrptinf PileSyslMObjecC*) Set objFolder ? £*o GetPolder OTath)
Set objSubFolderx - objFoldtr Subfoldtr^
f oy g.^h ob r£abFold In ob\£ibPold.y
Di? fol4ertBp As Boolean
Dim x Ax Intec?『 fold#rtap 二 Ftl”
Fer x * I T? Shtets. Coimt * S3 M1
If Shets(x). Nt?e s ?bjSubFold The 判斷工 felder tsp - True
Sh^tttCx). Activate
Exit For End If
Wtxt
I£ folder tap = SUts Add KctiveShwet KtivShet KctiveShtet
Bn4 If
设童锻环芟量
Then
Ktte = objS“Fold?r Xt?e = ?序号 Rg“「b「)八目录?
^5wF7U^ ^tCK t~、 * ?bj、2Fo丄伽
Sei ^bjFilei = objSubFold Files F
Tii^ne7B^A^Doolt?n
hui{ - ActiveSheet. VsedRan^e Rovi Count fil?bip ? F^lse
For i ? I To hy
I£ Acti veSheet. Ran? Cb* A 1) ? objFiLe Nmi Then £il?t*p - True 2xit For
Ud If m
S ?
If filetap - Fls? Thn
IktivtSheet Bn? (*?* A hwif ? 1) ? hug ActiveSh^et. Ran?e (^b* A hui * 1) ? objFil? Km? Vi th IctiwSbtet
KyperlibH Add Rtn^Ub* A hn + I). Path ? + objSubFolder 9tut ? T* + objFile Hmw
End
文档评论(0)