Article ID: 113491
Article Last Modified on 10/11/2006
' The main procedure calls dir_test and passes it to the specified
' directory.
Sub main()
'Always make sure the path ends with a backslash.
'Calls dir_test and passes it the directory to check
dir_test "c:\"
End Sub
' The dir_test procedure returns an array of all subdirectories contained
' in the specified directory. To do this, it creates the array dir_array;
' dir_array is declared as Static to hold its values after the macro has
' finished.
Sub dir_test(directory_text)
'Dimensions a variable to hold the temp Directory name
Dim temp_var As String
'Dimensions a dynamic array to hold the Directory Array
Static dir_array() As String
'Turns off Error Checking
On Error Resume Next
'Call the DIR function and returns the first item the Directory
temp_var = Dir(directory_text, vbDirectory)
'Initializes the variable for building the array
counter = 0
'Set a loop until the DIR function returns
Do Until temp_var = ""
'Temp_var stores the individual Directory name
temp_var = Dir()
'Checks to see if temp_var is an empty string
If temp_var <> "" Then
'The following code will create an array of the directories
If GetAttr(directory_text & temp_var) And vbDirectory then
'enlarge the array to hold a new item
ReDim Preserve dir_array(counter)
'add directory to the array
dir_array(counter) = temp_var
'This line just shows the variable was added to the array
'You can comment this line out when using this function
MsgBox dir_array(counter)
'Increase counter to make room for the next directory
counter = counter + 1
End If
End If
Loop
End Sub
Filefns.xla and add-in and maintenance
Additional query words: 8.00 97 directorybrowse Array Dir list linked_directory XL
Keywords: kbprogramming KB113491