指定フォルダー以下サブフォルダー内も含む全ファイルを列挙する (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 |
|