フォルダ内のファイル名を列挙する方法

◆概要

このページは、Visual Basic 6.0でフォルダ内のファイル名を列挙する方法について記載しています。


ファイルシステムオブジェクトに含まれるFiles コレクションを使うことで、フォルダ内のファイル名を列挙できます。

◆Sample code

次の例は、Windwsフォルダのファイル名をリストボックスに列挙します。


事前に[プロジェクト] メニューの [参照設定] で「Microsoft Scripting Runtime」にチェックを付けておく必要があります。

Option Explicit

Private Sub Command1_Click()
    Dim colFilesystem As Object
    Dim objFolder     As Object
    Dim colFiles      As Object
    Dim objFile       As Object

    Set colFilesystem = CreateObject("Scripting.FileSystemObject")

    ' Windowsフォルダを取得
    Set objFolder = colFilesystem.GetSpecialFolder(0)
    Set colFiles = objFolder.Files

    ' Windowsディレクトリのファイル名をリストアップ
    For Each objFile In colFiles
        List1.AddItem objFile.Name
    Next

    ' オブジェクトを解放
    Set colFilesystem = Nothing
    Set objFolder = Nothing
    Set colFiles = Nothing
    Set objFile = Nothing

End Sub

Private Sub Form_Load()
    ' フォームのキャプション設定
    Me.Caption = "Windowsフォルダのファイル一覧"
    ' ボタンの設定
    With Command1
        .Caption = "実行"
        .Default = True
    End With

End Sub

◆実行結果

実行結果



▼ページトップへ

◆Sample code 2

FileSystemObject の Files プロパティを使うと、指定したディレクトリ内のすべてのファイルを取得することができます。
次の例では、C ドライブの Windows フォルダの中にあるすべてのファイルを取得し、「List1.List(lIndex) = hFile.Path」で取得したファイル名のパスをリストボックスに追加します。

このサンプルコードを実行するには、事前に[プロジェクト] メニューの [参照設定] で「Microsoft Scripting Runtime」にチェックを付けておく必要があります。

Option Explicit

Private Sub Command1_Click()
    Dim lIndex As Long
    Dim hFolder As Folder
    Dim hFile As File
    Dim Fso As FileSystemObject

    ' List1をクリアする
    List1.Clear

    ' フィルシステムオブジェクトのインスタンス
    Set Fso = New FileSystemObject
    Set hFolder = Fso.GetFolder("C:\Windows\")
    
    ' 変数の初期化
    lIndex = 0
    
    ' 指定したフォルダ内のファイルを列挙する
    For Each hFile In hFolder.Files
        ' 取得したファイル名のパスをリストボックスに追加
        List1.List(lIndex) = hFile.Path
        lIndex = lIndex + 1
    Next hFile

    ' オブジェクトの開放
    Set Fso = Nothing
    Set hFile = Nothing
    Set hFolder = Nothing

End Sub

Private Sub Form_Load()
    ' フォームのキャプション設定
    Me.Caption = "Windowsフォルダのファイル一覧"
    ' ボタンの設定
    With Command1
        .Caption = "実行"
        .Default = True
    End With

End Sub

◆実行結果

実行結果



▼ページトップへ