循环遍历子目录并将路径存储在数组中

时间:2013-02-26 15:50:45

标签: excel vba excel-vba

我有以下代码:

Function GetSubDir(ByVal sDir)

Dim oFS As New FileSystemObject
Dim oDir

Set oDir = oFS.GetFolder(sDir)
For Each oSub In oDir.SubFolders
    MsgBox oSub.Path
    GetSubDir oSub.Path
Next oSub
End Function

我想修改它,以便每个子目录路径都存储到一个数组中,但我不知道如何实现它,或者甚至可能。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

试试这个,在你的代码中创建一个基本数组,并为每个子目录做大一点,如下所示......

dim myArray()
dim iCount as integer

iCount=1

Set oDir = oFS.GetFolder(sDir)

' in your loop through the sub-directories...
For Each oSub In oDir.SubFolders
    Redim Preserve myArray(iCount)
    myArray(iCount) = oSub.path
    iCount=iCount+1
Next 

HTH

菲利普

PS。我也推荐其他人建议的文章......

如果你能亲自抓住鱼而不是向你扔鱼,那总是会更好:)