2014-01-20 54 views
3

我正在製作一個將子目錄添加到數組的宏。子目錄的數量是未指定的,所以我每次都要將數組重新設置爲數組計數器的大小。當我嘗試將數組值設置爲索引值「count」時,我得到:compile error:expected array。vba - 將子目錄添加到動態數組中

我試圖讓我的代碼儘可能簡單,對我來說,它似乎應該工作,但它顯然沒有。有人會指出我把它弄糊塗了嗎?

'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 

感謝您的幫助

+0

除了下面的答案之外,最好在開始時將所有內容「昏暗」,而不是隨意「昏暗」。 – Manhattan

回答

2

當你聲明變量成爲你需要以這種方式使用括號數組:

Dim folderindex() As String 

重要!!此外,您需要聲明變量As String(類型),因爲您要保留文本,而不是數字。

+0

謝謝,現在試圖找出它是否實際上增加了數組,並通過 – bsapaka

+0

好,現在我進入另一個問題,但是這讓我經過第一個小丘感謝KazJaw – bsapaka

+0

不客氣:) –