相关知识点:
Collection对象: 用于存放任意多个对象,不需要事先指定其长度,常用方法:
Add方法:添加一个元素
Clear方法:清空所有元素
Count属性:返回元素的总数
例1 递归遍历子文件夹,将找到的文件夹名字存放在数组里(但长度不固定,繁琐)?用字典?(一般指定一组数值key,value),用collection
Option Explicit
Dim i as long ‘全局变量
Sub demo()
i=1
List”d:\vbademo\”
End Sub
Sub list(folder)
Dim fname , subfolders as collection
Set subfolders=New Collection ‘new创建一个真正的collection对象,否则是空指针
fname=dir(fold,vbdirectory)=vbdirectory Then
Do while fname<>””
If fname<>”.” And fname<>”..” Then ‘判断取消带点文件夹目录
If (getattr(folder & fanme) and vbdirectory)=vbdirectory Then
Cells(i,1)=folder & fname
i=i+1
subfolders.add folder & fname & “\”
End if
End If
Fnane=dir
Loop
For Each fname In subfolders
List fname
Next fname
End Sub
例2 递归遍历子文件
Option Explicit
Dim i as long ‘全局变量
Sub demo()
i=1
List”d:\vbademo\”
End Sub
Sub list(folder)
Dim fname , subfolders as collection
Set subfolders=New Collection ‘new创建一个真正的collection对象,否则是空指针
fname=dir(fold,vbdirectory)=vbdirectory Then
Do while fname<>””
If fname<>”.” And fname<>”..” Then ‘判断取消带点文件夹目录
If (getattr(folder & fanme) and vbdirectory)<>vbdirectory Then
Cells(i,1)=folder & fname
i=i+1
subfolders.add folder & fname & “\”
End if
End If
Fnane=dir
Loop
For Each fname In subfolders
List fname
Next fname
End Sub