|
-
Sep 17th, 2000, 04:36 PM
#1
Thread Starter
Lively Member
Say you have C:\folders, inside that dir are folders called "Blah1", "Blah2" etc...
How could you load each folder name (x amount of folders) into a listbox?
___________________________
Chris
-
Sep 17th, 2000, 04:42 PM
#2
_______
<?>
'using fso
Code:
Option Explicit
Sub ShowFolderList(folderspec)
Dim fs As Object
Dim f, f1, s, sf
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set sf = f.SubFolders
For Each f1 In sf
s = f1.Name
List1.AddItem s
s = s & vbCrLf
Next
End Sub
Private Sub command1_Click()
Call ShowFolderList("C:\")
End Sub
"A myth is not the succession of individual images,
but an integerated meaningful entity,
reflecting a distinct aspect of the real world."
___ Adolf Jensen
-
Sep 17th, 2000, 05:12 PM
#3
Fanatic Member
Dir Function:
Code:
Dim myst
Dim MyName As String
Dim MyPath As String
' Display the names in C:\ that represent directories.
MyPath = "c:\windows\" ' Set the path.
MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry.
Do While MyName <> "" ' Start the loop.
' Ignore the current directory and the encompassing directory.
If MyName <> "." And MyName <> ".." Then
' Use bitwise comparison to make sure MyName is a directory.
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
List1.AddItem MyName ' Display entry only if it
End If ' it represents a directory.
End If
MyName = Dir ' Get next entry.
Loop
[Edited by gwdash on 09-17-2000 at 06:20 PM]
GWDASH
[b]VB6, Perl, ASP, HTML, JavaScript, VBScript, SQL, C, C++, Linux , Java, PHP, MySQL, XML[b]
-
Sep 17th, 2000, 08:49 PM
#4
Try this:
Code:
Sub DirMap(ByVal Path As String, List As ListBox)
On Error Resume Next
Dim i, j, x As Integer 'All used as counters
Dim Fname(), CurrentFolder, Temp As String
Temp = Path
If Dir(Temp, vbDirectory) = "" Then Exit Sub 'if there arent any sub directories the exit
CurrentFolder = Dir(Temp, vbDirectory)
'First get number of folders (Stored in
' i)
Do While CurrentFolder <> ""
If GetAttr(Temp & CurrentFolder) = vbDirectory Then
If CurrentFolder <> "." And CurrentFolder <> ".." Then
i = i + 1
End If
End If
CurrentFolder = Dir
Loop
ReDim Fname(i) 'Redim the array With number of folders
'now store the folder names
CurrentFolder = Dir(Temp, vbDirectory)
Do While CurrentFolder <> ""
If GetAttr(Temp & CurrentFolder) = vbDirectory Then
If CurrentFolder <> "." And CurrentFolder <> ".." Then
j = j + 1
Fname(j) = CurrentFolder
List.AddItem Temp & Fname(j)
End If
End If
CurrentFolder = Dir
Loop
' For each folder check to see there are
' sub folders
For x = 1 To i
Call DirMap(Temp & Fname(x) & "\", List)
Next
End Sub
Usage:
Private Sub Command1_Click()
Call DirMap("C:\Windows\", List1)
'Must have "\" at the end of the path
End Sub
-
Sep 18th, 2000, 01:27 AM
#5
Conquistador
there is also another example, if you search for Start Menu, posted by Zaei, you will find it.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|