vba获取文件夹下所有文件名_VBA编程知识点(10)——Dir函数

33c22cf94831850c522f1734ab57fcf4.png

VBA编程知识点(10)——Dir函数

学习自杨洋老师《全民一起VBA》

1. 在VBA中,dir函数可以返回一个文件夹下一个文件的名字(包含后缀)。

示例代码:

filename = Dir("F:userdataDesktop新建文件夹")

dir后面的参数应该以反斜杠“”结尾,这样才能返回该文件夹下的文件名称。否则“新建文件夹”会被当成一个文件名进行处理。

Dir运行一次只能得到一个文件名。为得到下一个文件名,代码应该这样写:filename = Dir。

Dir后面不写任何参数,如果写了与前面相同的参数"F:userdataDesktop新建文件夹",则会重新扫描该文件夹,又得到第一个文件名,如果更改为其他文件夹,就扫描该文件夹,得到它的第一个文件名

如果文件夹中有n个文件,或者说有n个符合条件的文件,那么当Dir运行第n+1次时,则返回一个空字符串,代表已经查找完所有的文件。Dir运行第n+2次时,程序将报错。

2. 扫描一个文件夹下所有文件的通用模板

Dim filename as string
filename = Dir("F:userdataDesktop新建文件夹")  '可以更改为任意文件夹
Do while filename <> ""
	相关操作
	filename = Dir  '获取下一个文件名
Loop

3. Dir扫描符合条件的文件名(通配符*)

示例代码:

F = Dir("F:userdataDesktop新建文件夹*.xls"),扫描所有后缀为.xls的文件。

4. 判断一个文件是否存在

示例代码:

F = Dir("F:userdataDesktop新建文件夹123.xls")

如果文件123.xls存在,则返回字符串123.xls,如果不存在,则返回空字符串。

5. 扫描文件和子文件夹名称

一般情况下,Dir函数只返回文件名,而不返回子文件夹名。如果想要两者都返回,则需要加上vbDirectory参数。示例代码如下:

F = Dir("F:userdataDesktop新建文件夹" , vbDirectory)

特别要注意的是,子文件夹包括“.”和“..”两个特殊名字,分别代表本目录F:userdataDesktop新建文件夹及其父目录F:userdataDesktop。

Dir函数只能返回第一层的子文件夹和文件名,子文件夹下的文件与文件夹不返回。

  • 0
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值