Private Sub Form_Load()
Dim sB As String
Dim sF As String
Dim c As Integer
Combo1.Clear
c = 0
Path = "\\\\10.56.88.102\\blzxphoto\\"
sB = Path
sF = Dir(sB, vbDirectory) ' 查找目录中第一个文件夹名称
Do While sF <> ""
' 跳过当前的目录及上层目录
If sF <> "." And sF <> ".." Then
If (GetAttr(sB + sF) And vbDirectory) = vbDirectory Then
Combo1.AddItem sF ' 如果它是一个目录,将其名称添加到 Combo1 列表
c = c + 1
End If
End If
sF = Dir ' 查找下一个目录
Loop
MsgBox c
Combo1.ListIndex = 0 '选择第一项
End Sub
Re:vb获取目录下所有文件夹名称的方法
语法
Dir[(pathname[, attributes])]
Dir 函数的语法具有以下几个部分:
部分 描述
pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 ("")。
attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。
设置值
attributes 参数的设置可为:
常数 值 描述
vbNormal 0 (缺省) 指定没有属性的文件。
vbReadOnly 1 指定无属性的只读文件
vbHidden 2 指定无属性的隐藏文件
VbSystem 4 指定无属性的系统文件
vbVolume 8 指定卷标文件;如果指定了其它属性,则忽略vbVolume
vbDirectory 16 指定无属性文件及其路径和文件夹。
注意 这些常数是由 VBA 所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。
说明
Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定多重文件。
由于 Macintosh 不支持通配符,使用文件类型指定文件组。可以使用 MacID 函数指定文件类型而不用文件名。比如,下列语句返回当前文件夹中第一个TEXT文件的名称:
Dir("SomePath
vbDirectory 属性来调用 Dir 不能连续地返回子目录。
http://www.blzx.net.cn/blog/user1/5943/200921215120.html
使用FSO的话,可以这样:
Private Sub GetFolderList(ByVal strPath As String)
Dim FSO As Scripting.FileSystemObject
Dim fdrFolder As Scripting.Folder
Dim fdrSubFolder As Scripting.Folder
Set FSO = New Scripting.FileSystemObject
Set fdrFolder = FSO.GetFolder(strPath)
For Each fdrSubFolder In fdrFolder.SubFolders
Print fdrSubFolder.Name
Next
End Sub
然后就可以用GetFolderList 路径下载本文