vba中dir用法_利用Dir函数遍历某文件夹下的所有文件 | VBA实例教程

今天介绍利用Excel VBA的Dir方法来遍历某文件夹下的所有excel文件。还是直接来看例子,假设在D盘有一个叫工作日志的文件夹,里面放着每日的工作记录,都是excel 2007表格,现在由于工作需要要从这里表格中提取数据,那就需要依次对每个Excel表格进行访问。只要知道了工作表的名称,我们就可以用workbook的Open方法或者GetObject方法从工作簿中获得数据,而Dir函数正是起到这个作用。Dir函数会按固定的顺序依次访问文件夹下的文件,并返回相应文件的名称,当全部都访问完时就会返回空值,因此返回值是不是空值可以做为判断Dir函数是否遍历完整个文件夹的依据。

看下面的代码

Sub test()

Dim myfile

myfile = Dir("D:/工作日志/*.xlsx")   '返回对应路径下第一个符合*.xlsx的文件名称

Do While myfile <> ""          '当返回的文件名为空时停止循环

Debug.Print myfile          '将返回的结果显示在立即窗口

myfile = Dir                 '返回对应路径下一个符合条件的文件名称

Loop

End Sub

在Dir函数的路径当中是可以使用通配符的,在这里*代表任意个字符,那么*.xlsx就代表后缀名为xlsx的Excel 2007文件,对应的你的Excel如果是2003版的,那就应该是*.xls,如果你要遍历的文件中两个版本的都包括,那可以表示为*.xls*。Dir函数一次只能返回一个值 ,所以要遍历所有的文件就要不断的调用Dir函数,但是第二次调用的时候就不必写参数了, myfile = Dir 就会默认的去寻找下一个符合条件的文件。Debug.Print myfile是将变量值显示在立即窗口的意思,这句就可以换成你自己的操作代码,比如在之前讲到的“多个Excel工作簿中的数据汇总到一个Excel中(1)”就是对工作簿进行了Open操作。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值