指定フォルダー以下のサブフォルダーを列挙
                                                         玄関へお回り下さい。
指定フォルダー以下のサブフォルダーを列挙       (146)
使用する前に、[プロジェクト]→[参照設定]で Microsoft Scripting Runtime の参照にチェックを入
れておいて下さい。
そして Form に CommandButton 1個ListBoxを1個 貼り付けておいて下さい。
  Option Explicit   'SampleNo=146 WindowsXP VB6.0(SP5) 2002.06.06

Private Sub Command1_Click()
  Dim Fso As New FileSystemObject
  With List1
    .Clear
    .Visible = False
  End With
  Call sFolderSearch(Fso.GetFolder("c:\Windows"))
  List1.Visible = True
End Sub

Private Sub sFolderSearch(ByRef myFolder As Folder)
'指定フォルダー以下のサブフォルダーを列挙
  Dim mySubFolder As Folder
  With myFolder
    If .SubFolders.Count > 0 Then
      For Each mySubFolder In .SubFolders
        '見つかったサブフォルダーをリストボックスに表示
        List1.AddItem mySubFolder
        '再帰的に関数を呼び出し
        Call sFolderSearch(mySubFolder)
      Next
    End If
  End With
End Sub

 
このように簡単なコードで指定フォルダー以下の全サブフォルダーが列挙できます。
VBの機能だけで実現使用と思えば相当複雑なコードになるかと思います。
   






2003/03/03