Dir関数を使用し最下層のフォルダ名まで取得するには?

解決


you  2005-01-07 14:15:54  No: 87678  IP: [192.*.*.*]

Dir関数を使用して最下層のフォルダ名をすべて取得するにはどうすればいいでしょう?FileSystemObjectは使用できないので再帰するようなロジックはくめないです。

編集 削除
030  2005-01-07 15:00:44  No: 87679  IP: [192.*.*.*]

例えば

Function GetDirectries( strRoot As String, lngCount As Long ) As String()

  'Dir関数でstrRootに含まれるディレクトリの配列を返す
  'ディレクトリが含まれない場合はvbEmptyを返す
  
End Function

という関数を作っておいて、メインで

Sub CheckDir( strRoot As String )

  Dim strDir() As String 
  Dim lngCount As Long
  Dim strSub   As String

  strDir = GetDirectries( strRoot ,lngCount )
  For Each strSub In strDir
  If lngCount=0 Then
    'グローバル変数の配列等にパス名を追加
  Else
    '再帰処理
     CheckDir strSub
  End If
 
End Sub

とすればどうでしょうか

編集 削除
030  2005-01-07 15:02:56  No: 87680  IP: [192.*.*.*]

ちょっと修正です

Function GetDirectries( strRoot As String, lngCount As Long ) As String()

  'Dir関数でstrRootに含まれるディレクトリの配列とlngCountに配列の数
を返す
  'ディレクトリが含まれない場合はlngCount=0を返す
  
End Function

編集 削除
you  2005-01-07 15:27:46  No: 87681  IP: [192.*.*.*]

やってみます。ありがとうございました。

編集 削除
you  2005-01-07 16:05:47  No: 87682  IP: [192.*.*.*]

出来ました!本当にありがとうございました。!

編集 削除