Dir函数在VBA中的重要性及基本用法

Dir函数的重要性

在Office VBA的世界里,要跨文件进行批量操作(如多个工作簿同名工作表合并多个工作簿合并等),Dir函数是经常要用到的。

当你学会利用VBA进行多文件的批量操作,命运的齿轮或许正在悄然开始转动......别人可能需要一个1小时才能完成的工作量,你只要10分钟或更少的时间就能完成。

这里通过3个小案例,抛砖引玉,介绍Dir函数的基本用法。

3个小案例

案例1:获取D盘下所有文件名称

Sub 获取D盘的所有文件名称()
    Dim fn As String
    fn = Dir("D:\*.*")
    Do While fn <> ""
        Debug.Print fn
        fn = Dir
    Loop
End Sub

案例2:获取D盘下所有xls、xlsm等类型的文件名称

Sub 获取D盘的Excel文件名称()
    Dim fn As String
    fn = Dir("D:\*.xls?")
    Do While fn <> ""
        Debug.Print fn
        fn = Dir
    Loop
End Sub

案例3:获取D盘下所有文件夹及文件名称

Sub 获取D盘的所有文件夹名称和文件名称()
    Dim fn As String
    fn = Dir("D:\*.*", vbDirectory)
    Do While fn <> ""
        Debug.Print fn
        fn = Dir
    Loop
End Sub

基本语法

Dir [ (pathname, [ attributes ] ) ]

pathname参数:支持使用多字符(*)和单字符(?)通配符来匹配指定类型的文件;

attributes参数:默认为vbNormal,返回文件名称。另一个常用的取值为vbDirectory,则返回目录名称、和文件名称

其他说明

1.必须在首次调用 Dir 函数时指定 pathname参数;Dir函数会返回与 pathname 匹配的第一个文件名;

2.重新调用 Dir 而不使用参数,会返回与pathname匹配的下一个文件名;当不再有匹配的文件名时,Dir 将返回空字符串;在返回空字符串后,重新调用 Dir 而不使用参数,将会发生错误;

3.Dir函数,通常和循环语句结合使用,将Dir函数返回的空字符串,作为循环语句结束的条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值