玄関へお回り下さい。 
指定のフォルダー内のファイルをすべて列挙する (2個)    (SNo.024)

1.指定のフォルダー内のファイルをすべて列挙
2.指定のフォルダー内の指定の拡張子のファイルを全て列挙する
使用コントロール Button1 Button2 ListBox1  FolderBrowserDialog1
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
  
1.指定のフォルダー内のファイルをすべて列挙

Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
'指定のフォルダー内のファイルを全て列挙する
    Dim FolderName As String
    Dim FileName As String
    ''フォルダーの参照ダイアログを表示
    If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
        ''フォルダー名を取得
        FolderName = FolderBrowserDialog1.SelectedPath
    Else
        Exit Sub
    End If
    'リストボックスをクリア
    ListBox1.Items.Clear()
    ''リストボックスに水平スクロールバーを表示
    ListBox1.HorizontalScrollbar = True

    'フォルダー名が取得できたら
    If FolderName.Length > 1 Then
        'フォルダー内の全てのファイルのパスを取得
        For Each FileName In System.IO.Directory.GetFiles(FolderName)
        '指定の拡張子のファイルだけ取得する場合
            'リストボックスにファイル名を表示
            ListBox1.Items.Add(System.IO.Path.GetFileName(FileName))
        Next
    End If
End Sub

2.指定のフォルダー内の指定の拡張子のファイルを全て列挙する

Private Sub Button2_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button2.Click
'指定のフォルダー内の指定の拡張子のファイルを全て列挙する
   
Dim FolderName As String
   
Dim FileName As String
    ''フォルダーの参照ダイアログを表示
   
If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
        ''フォルダー名を取得
        FolderName = FolderBrowserDialog1.SelectedPath
   
Else
       
Exit Sub
   
End If
    'リストボックスをクリア
    ListBox1.Items.Clear()
    ''リストボックスに水平スクロールバーを表示
    ListBox1.HorizontalScrollbar = 
True

    'フォルダー名が取得できたら
   
If FolderName.Length > 1 Then
        '指定の拡張子のファイルだけ取得する場合
       
For Each FileName In System.IO.Directory.GetFiles(FolderName, "*.txt")
            'リストボックスにファイル名をフルパスで表示
            ListBox1.Items.Add(FileName)
       
Next
   
End If
End Sub

上記の他、System.IO.DirectoryInfo を使った方法やFileSystemObject を使っても取得できます。




2004/04/26
2005/09/09


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