fso的folders属性.
folders.count
for each forder in forders
    ForlderName=forder.name
next

解决方案 »

  1.   

    '用vb帮助改写:
    Dim MyCount As Integer
    Dim MyName As String
    Dim MyPath As String
    MyCount = 0           '文件夹数目
    MyName = ""           '文件夹名称
    MyPath = "c:\"   ' 指定路径。
    MyName = Dir(MyPath, vbDirectory)   ' 找寻第一项。
    Do While MyName <> ""   ' 开始循环。
       ' 跳过当前的目录及上层目录。
       If MyName <> "." And MyName <> ".." Then
          ' 使用位比较来确定 MyName 代表一目录。
          If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
             Debug.Print MyName   ' 如果它是一个目录,将其名称显示出来。
             MyCount = MyCount + 1
          End If
       End If
       MyName = Dir   ' 查找下一个目录。
    Loop
      

  2.   

    获得某个文件夹下的所有子目录 
    下面的函数演示如何获得某个文件夹下的所有子目录 
    Public Sub HaalDirOp(ByVal Path$) 
    Dim vDirName As String, LastDir As String Screen.MousePointer = vbHourglass 
    If Right(Path$, 1) <> "" Then Path$ = Path$ & "" 
    vDirName = Dir(Path, vbDirectory) ' Retrieve the first entry. 
    Do While Not vDirName = "" 
    If vDirName <> "." And vDirName <> ".." Then 
    If (GetAttr(Path & vDirName) And vbDirectory) = vbDirectory Then 
    LastDir = vDirName MsgBox vDirName Call HaalDirOp(Path$ & vDirName) vDirName = Dir(Path$, vbDirectory) 
    Do Until vDirName = LastDir Or vDirName = "" 
    vDirName = Dir 
    Loop 
    If vDirName = "" Then Exit Do 
    End If 
    End If 
    vDirName = Dir 
    Loop 
    Screen.MousePointer = vbNormal 
    End Sub