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

3
我正在制作一个宏,将子目录添加到数组中。子目录的数量未知,因此每次通过重新定义数组大小来使用数组计数器。当我尝试在索引值"count"处设置数组值时,出现编译错误:预期数组。
我尝试尽可能地保持代码简单,对我来说它似乎应该管用,但显然它不行。有没有人能指出我哪里搞错了呢?
'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”所有東西而不是在進行時才“Dim”也是一種好的習慣。 - WGS
1个回答

2
当你声明一个变量并将其变成数组时,需要以以下方式使用括号:
Dim folderindex() As String

重要提示!! 此外,您需要声明变量As String(类型),因为您将保留文本而不是数字。


谢谢,现在正在尝试弄清楚它是否实际上正在添加到数组中,并循环遍历。 - brietsparks
好的,现在我遇到了另一个问题,但是多亏了KazJaw,我已经跨过了第一个障碍。 - brietsparks
我执行了MsgBox folderindex(0)来查看数组中是否有任何内容,但没有任何显示。您有任何想法是为什么吗? - brietsparks
你想要实现什么功能 - 获取给定文件夹的子文件夹? - Kazimierz Jawor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接