VBA 获取指定的文件目录下的指定关键词的文件列表

获取指定文件夹下指定关键词的文件列表(不含子文件夹)

Function aGetFiles(sFolderPath As String, saKey) As Variant '参数:文件夹地址,文件名称关键词(数组)
  
  Dim aFiles(), lFilesCount As Long, sFileName As String, sKey as Variant, i As Long
  
  For i = LBound(saKey) To UBound(saKey) '将 saKey 中的元素,合并成一个 正则表达式 sKey
    If i = LBound(saKey) Then sKey = "(" & saKey(i) & ")" Else sKey = sKey & "|(" & saKey(i) & ")"
  Next i
  
  Dim objRegExp As Object, objMatches As Object
  Set objRegExp = CreateObject("vbscript.regexp") '创建正则对象
  With objRegExp
    .Global = True '多次匹配
    .Ignorecase = True '不区分大小写
    .MultiLine = True '每行一个行首行尾
    .Pattern = sKey '正则表达式
  End With
  
  If Right(sFolderPath, 1) <> "\" Then sFolderPath = sFolderPath & "\" '如果最后不是 \ ,添加一个 \
  sFileName = Dir(sFolderPath & "*.xls*", vbDirectory) '遍历获取后缀名称为 .xls* 的文件
  Do While Len(sFileName) <> 0 '只要文件名称不为空就继续循环
    If Left(sFileName, 1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值