「VBA:[Tips]フォルダ内にあるファイル名を検索する」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
*なにがどう
>フォルダ階層中にある特定ファイルを探す。
#image(無題1.png,width=200,height=262)
**探索方法
>+ フォルダを探す
>+ 検索で見つかったフォルダ内に、検索条件に合致するファイルを探す。
>+ ファイルが無いとき、フォルダ内にフォルダがあるかを探す。
>…
>フォルダもファイルも無いとき、探索終了。
**どう実装するのか
***使うオブジェクト
>FileSystemObject
あとは再帰呼び出しをうまく活用する。
ファイルを探索するには以下のものが必要になる。
>1.全てのフォルダを探索する関数
>2.検索条件に合致するファイルを探索する関数
***まずフォルダを探索するメソッドを書く。
>Sub folderSearch(path)
> 'オブジェクトの生成
> With Create.Object("Scripting.FileSystemObject")
> 'pathはフォルダのパス
> For Each folder In .GetFolder(path).SubFolders
> <<このあたりにフォルダ名を出力するコードを書く>>
> '再起呼び出し。検索でヒットしたフォルダのパスを引数に.
> Call folderSearch(folder.path)
> Next folder
> End With
>End Sub
***同様に、ファイルを探索するメソッドを書く。
*なにがどう
>フォルダ階層中にある特定ファイルを探す。
#image(無題1.png,width=200,height=262)
**探索方法
>+ フォルダを探す
>+ 検索で見つかったフォルダ内に、検索条件に合致するファイルを探す。
>+ ファイルが無いとき、フォルダ内にフォルダがあるかを探す。
>…
>フォルダもファイルも無いとき、探索終了。
**どう実装するのか
***使うオブジェクト
>FileSystemObject
あとは再帰呼び出しをうまく活用する。
ファイルを探索するには以下のものが必要になる。
>1.全てのフォルダを探索する関数
>2.検索条件に合致するファイルを探索する関数
***まずフォルダを探索するメソッドを書く。
>Sub folderSearch(path)
> 'オブジェクトの生成
> With Create.Object("Scripting.FileSystemObject")
> 'pathはフォルダのパス
> For Each folder In .GetFolder(path).SubFolders
> <<このあたりにフォルダ名を出力するコードを書く>>
> '再起呼び出し。検索でヒットしたフォルダのパスを引数に.
> Call folderSearch(folder.path)
> Next folder
> End With
>End Sub
***同様に、ファイルを探索するメソッドを書く。
(^o^)ノ眠いから明日書く