VB搜索文件夹的问题
来源:百度知道 编辑:UC知道 时间:2024/09/23 22:34:26
这是我写的一个关于列出每个地址中全部文件夹的完整程序:
Option Explicit
Private Sub Command1_Click()
search
End Sub
Private Sub Command2_Click()
List1.Clear
List2.Clear
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
End Sub
Sub search()
Dim filename As String
Dim filecount() As String '在这里定义一个动态数组用来枚举每一个文件夹名字
Dim i As Integer
i = 0
filename = Dir(Text1.Text & Text2.Text, vbDirectory)
List1.AddItem filename
Do While filename <> ""
If GetAttr(Text1.Text & Text2.Text & "\" & filename) = vbDirectory Then '判断是否文件夹,若是即加入数组
i = i + 1
ReDim Preserve filecount(1 To i) '用preserve保留数组原有数据
filecount(i) = filename '不断更新数组中最后一个数
List2.AddItem filecount(i) '将文件夹的名字显示在list2列
Option Explicit
Private Sub Command1_Click()
search
End Sub
Private Sub Command2_Click()
List1.Clear
List2.Clear
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
End Sub
Sub search()
Dim filename As String
Dim filecount() As String '在这里定义一个动态数组用来枚举每一个文件夹名字
Dim i As Integer
i = 0
filename = Dir(Text1.Text & Text2.Text, vbDirectory)
List1.AddItem filename
Do While filename <> ""
If GetAttr(Text1.Text & Text2.Text & "\" & filename) = vbDirectory Then '判断是否文件夹,若是即加入数组
i = i + 1
ReDim Preserve filecount(1 To i) '用preserve保留数组原有数据
filecount(i) = filename '不断更新数组中最后一个数
List2.AddItem filecount(i) '将文件夹的名字显示在list2列
根据你的要求 特意写了如下代码 完全可以实现你的要求。
Dim Fso As Object
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Folder = Fso.getfolder("C:\")
For Each f In Folder.subfolders
MsgBox f.Path
Next