VB6フォルダ内のすべてのディレクトリとファイルを取得する

スポンサーリンク

VB6 では、SubFolder プロパティ と Files プロパティを使用して列挙することになります。使い道はないかとは思いますが .NET Framework の GetFileSystemEntries メソッドに合わせています。

FileSystemObject を使用する場合は、[プロジェクト] メニューの [参照設定] を選択して「Microsoft Scripting Runtime」にチェックを付けてください。

サンプルコード

以下にサンプルコードを示します。

VB6.0 以前
    ' FileSystemObject (FSO) の新しいインスタンスを生成する
    Dim cFso As FileSystemObject
    Set cFso = New FileSystemObject

    ' Folder オブジェクトを取得する
    Dim cRootFolder As Folder
    Set cRootFolder = cFso.GetFolder("C:\Hoge\")

    ' 不要になった時点で参照を解放する (Terminate イベントを早めに起こす)
    Set cFso = Nothing

    Dim stPrompt   As String
    Dim cSubFolder As Folder

    ' すべてのディレクトリを列挙する
    For Each cSubFolder In cRootFolder.SubFolders
        stPrompt = stPrompt & cSubFolder.Path & vbNewLine
    Next cSubFolder

    ' 不要になった時点で参照を解放する (Terminate イベントを早めに起こす)
    Set cSubFolder = Nothing

    Dim cFile As File

    ' すべてのファイルを列挙する
    For Each cFile In cRootFolder.Files
        stPrompt = stPrompt & cFile.Path & vbNewLine
    Next cFile

    ' 不要になった時点で参照を解放する (Terminate イベントを早めに起こす)
    Set cRootFolder = Nothing
    Set cFile       = Nothing

    ' 取得したすべてのファイルパスを表示する
    Call MsgBox(stPrompt)

関連するリファレンス

準備中です。

スポンサーリンク