No.2ベストアンサー
- 回答日時:
ちょっと前にやったことがあるので参考になれば・・・。
Private Sub GetFileCollection(ByRef sDirName As String, ByRef sFileCol As Collection)
Dim FSysObj As Scripting.FileSystemObject
Dim aFolder As Scripting.Folder
Dim ChildFolder As Scripting.Folder
Dim aFile As Scripting.File
Dim i As Long
On Error GoTo EXCEPTION_SECTION
Set FSysObj = New Scripting.FileSystemObject
Set aFolder = FSysObj.GetFolder(sDirName)
If (aFolder.Attributes And System) = System Then
Exit Sub
End If
For Each aFile In aFolder.Files
sFileCol.Add aFile.Path
Next aFile
If aFolder.SubFolders.Count > 0 Then
For Each ChildFolder In aFolder.SubFolders
Call GetFileCollection(ChildFolder.Path, sFileCol)
Next ChildFolder
End If
Exit Sub
EXCEPTION_SECTION:
MsgBox "[" & Err.Number & "]" & Err.Description, vbExclamation + vbOKOnly, "エラー"
Exit Sub
End Sub
No.1
- 回答日時:
http://www.okweb.ne.jp/kotaeru.php3?q=38626
の回答を参考にしてやって下さい。
「再帰」っていうのを使えば、結構簡単に取得できます。
先のアルゴリズムを簡略化して書くと、
1:引数で指定されたフォルダに含まれるファイルの一覧を取得する。
2引数で指定されたフォルダに含まれるフォルダの一覧を検索する。
3:見つかったフォルダを引数にして自分自身を呼び出す。
のようになっています。「なぜこれでうまく行くのか」はちょっと説明しづらいですが、とにかくこれでうまく動くはずです。(動かなかったら補足してください。)
参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=38626
の回答を参考にしてやって下さい。
「再帰」っていうのを使えば、結構簡単に取得できます。
先のアルゴリズムを簡略化して書くと、
1:引数で指定されたフォルダに含まれるファイルの一覧を取得する。
2引数で指定されたフォルダに含まれるフォルダの一覧を検索する。
3:見つかったフォルダを引数にして自分自身を呼び出す。
のようになっています。「なぜこれでうまく行くのか」はちょっと説明しづらいですが、とにかくこれでうまく動くはずです。(動かなかったら補足してください。)
参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=38626
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カレントフォルダって?
-
Dreamweaverでイメージを挿入す...
-
会社のネットワーク上のファイ...
-
Windows10でコマンドプロンプト...
-
VBA フォルダ名に特定の文字を...
-
Excelで指定したフォルダに保存...
-
エクセルのデータをメモ帳に貼...
-
C ファイル出力で、フォルダが...
-
excelマクロ 冒頭3文字が一致す...
-
Excelのハイパーリンクについて...
-
致命的なエラー C1043について
-
DLLの暗黙リンクの調べ方
-
GetAttrが原因?
-
pythonでDepixを起動
-
レジストリの文字列から
-
条件に合うフォルダが存在する...
-
VBScriptでのフォルダ指定ダイ...
-
保存先のフォルダ名を指定した...
-
フォルダ内のファイルの作成日...
-
バッチファイルにて連番付きフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
ファイル名と同名のフォルダを...
-
デスクトップの画像をhtmlに表...
-
Excelのハイパーリンクについて...
-
VBプロジェクトでのフォルダ構...
-
会社のネットワーク上のファイ...
-
【マクロ】ファイル名の日付に...
-
パス名に2バイト文字(マルチバ...
-
Access VBA で フォルダ権限...
-
カレントフォルダって?
-
VBA フォルダ名に特定の文字を...
-
ExcelVBAでフォルダへのハイパ...
-
C ファイル出力で、フォルダが...
-
excelマクロ 冒頭3文字が一致す...
-
保存先のフォルダ名を指定した...
-
マクロVBAのフォルダ階層別で検...
-
Excelで指定したフォルダに保存...
-
ディレクトリ名変更してコピー...
-
vbsで選択ダイアログを表示した...
おすすめ情報