首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VBA >

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

2013-01-21 
excel vba如何搜索某目录里的子目录名称是否包含某关键字?并返回搜到的个数?不是搜文件的名称,是搜目录的

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

热点排行