当前位置: 代码迷 >> VBA >> excel vba怎么搜索某目录里的子目录名称是否包含某关键字?并返回搜到的个数
  详细解决方案

excel vba怎么搜索某目录里的子目录名称是否包含某关键字?并返回搜到的个数

热度:9912   发布时间:2013-02-26 00:00:00.0
excel vba如何搜索某目录里的子目录名称是否包含某关键字?并返回搜到的个数?
不是搜文件的名称,是搜目录的名称。


例如C:\TEST\里面有5个folder:
QWE
ASD_1
ASD_2
ASD_3
TYU

并且,C:\TEST\ASD_1\里含有一个ASD.TXT文件

然后我要的结果是:我搜索关键字“ASD”,返回的结果为3(搜到3个folder name包含“ASD”的目录,但不搜里面的文件)

------解决方案--------------------------------------------------------
多层尝试搜索可以使用函数递归的方法来解决:

Public Fso As Object
Public Str As String

Sub getFldList()
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Fldnm ("C:\TEST")
    MsgBox Str
End Sub

Function Fldnm(pth$)
    Dim Fld
    
    For Each Fld In Fso.getfolder(pth).subfolders
        If Fld.Name Like "*ASD*" Then Str = Str & Fld.Name & " "
        Fldnm (Fld)
    Next
End Function
  相关解决方案