读书人

excel vba怎么搜索某目录里的子目录名

发布时间: 2013-01-21 10:15:39 作者: rapoo

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

读书人网 >VBA

热点推荐