玄関へお回り下さい。
指定フォルダー以下サブフォルダー内も含む全ファイルを列挙する        (SNo.027)
使用コントロール Button1  FolderBrowserDialog1  ListBox1
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
  
★ 指定フォルダー以下サブフォルダー内も含む全ファイルを列挙する

Private Sub GetAllFiles(ByVal sourDirectory As String)
'指定フォルダー以下サブフォルダー内も含む全ファイルを列挙する自作関数
    Dim fs As String() = System.IO.Directory.GetFiles(sourDirectory)
    Dim f As String
    Dim FolderName As String = sourDirectory
    If FolderName.EndsWith("\") = False Then
        FolderName &= "\"
    End If
    'フォルダー内のファイルを列挙
    For Each f In fs
        'ファイルのフルパスを取得してリストボックスに表示
        ListBox1.Items.Add(FolderName & System.IO.Path.GetFileName(f))
    Next
    Dim ds As String() = System.IO.Directory.GetDirectories(sourDirectory)
    Dim d As String
    'サブフォルダーがある間処理を繰り返す
    For Each d In ds
        GetAllFiles(d)
    Next
End Sub


'上記関数の使用例

Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
'指定フォルダー以下サブフォルダー内も含む全ファイルを列挙する
    Dim FolderName As String
    If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
        'フォルダー名を取得
        FolderName = FolderBrowserDialog1.SelectedPath
    Else
        Exit Sub
    End If
    ListBox1.Items.Clear()
    ListBox1.HorizontalScrollbar = True
    Call GetAllFiles(FolderName)
End Sub

  




2004/04/26
2005/09/12


VBレスキュー(花ちゃん)
VB.NET2003  VB2005