vba-将子目录添加到动态数组

vba-将子目录添加到动态数组,vba,Vba,我正在制作一个宏,将子目录添加到数组中。子目录的数量未指定,因此我每次都将数组重新分配到数组计数器的大小。当我尝试将数组值设置为索引值“count”时,我得到:compile error:expected array 我试着让我的代码尽可能简单,在我看来它应该可以工作,但显然不行。有人能指出我把事情弄糟的地方吗 'DEFINE PATH AND SUBDIRECTORY DIR Path = "C:\Users\MyComp\Documents\test\folders\" Dim SubDi

我正在制作一个宏,将子目录添加到数组中。子目录的数量未指定,因此我每次都将数组重新分配到数组计数器的大小。当我尝试将数组值设置为索引值“count”时,我得到:compile error:expected array

我试着让我的代码尽可能简单,在我看来它应该可以工作,但显然不行。有人能指出我把事情弄糟的地方吗

'DEFINE PATH AND SUBDIRECTORY DIR
Path = "C:\Users\MyComp\Documents\test\folders\" 
Dim SubDir
SubDir = Dir(Path, vbDirectory)



'CREATE ARRAY AND COUNTER
Dim folderindex As Long 
Dim count As Integer
count = 0



'ADD SUBDIRECTORY PATHNAMES TO ARRAY
Do Until SubDir = ""   
    folderindex(count) = Path & SubDir
    count = count + 1
    ReDim Preserve folderindex(count)
SubDir = Dir()   
Loop



End Sub

感谢您的帮助

当您声明变为数组的变量时,您需要以这种方式使用括号:

Dim folderindex() As String

重要此外,您需要将变量<代码>声明为字符串<代码>(类型),因为您要将文本保存在内部,而不是数字。

谢谢,现在正试图弄清楚它是否真的添加到数组中,并在数组中循环,现在我遇到了另一个问题,但这让我克服了第一个困难,感谢KazJawI做了MsgBox folderindex(0)查看数组中是否有任何内容,但没有任何内容。你知道为什么吗?你想实现什么-获取给定文件夹的子文件夹?除了下面的答案外,最好在开始时对所有内容进行
Dim
,而不是边走边进行
Dim