VBA:[Tips]フォルダ内にあるファイル名を検索する

「VBA:[Tips]フォルダ内にあるファイル名を検索する」の編集履歴(バックアップ)一覧に戻る

VBA:[Tips]フォルダ内にあるファイル名を検索する - (2015/04/15 (水) 21:45:39) の編集履歴(バックアップ)


なにがどう

フォルダ階層中にある特定ファイルを探して列挙する。

探索方法

  1.  フォルダを探す
  2.  検索で見つかったフォルダ内に、検索条件に合致するファイルを探す。
  3.  ファイルが無いとき、フォルダ内にフォルダがあるかを探す。

フォルダもファイルも無いとき、探索終了。

どう実装するのか

使うオブジェクト

FileSystemObject
あとは再帰呼び出しをうまく活用する。
ファイルを探索するには以下のものが必要になる。
1.全てのフォルダを探索する関数
2.検索条件に合致するファイルを探索する関数
3.取得したファイル名を煮たり焼いたりするコード

まずフォルダを探索するメソッドを書く。

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^)ノ眠いから明日書く