teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

ミス修正

2021/03/20 03:44

投稿

xail2222
xail2222

スコア1525

answer CHANGED
@@ -33,7 +33,7 @@
33
33
  If tIndSubFolder > 0 Then
34
34
  For tIndSubFolder = 0 To UBound(tSubFolders)
35
35
  ' サブフォルダ配下のファイルを全て取得
36
- buf = Dir(tFolder & "\" & tSubFolders(tIndSubFolder) & "*.*")
36
+ buf = Dir(fd_path & "\" & tSubFolders(tIndSubFolder) & "*.*")
37
37
  Do While buf <> ""
38
38
  Debug.Print tSubFolders(tIndSubFolder) & "\" & buf
39
39
  buf = Dir()

2

処理追記

2021/03/20 03:44

投稿

xail2222
xail2222

スコア1525

answer CHANGED
@@ -5,4 +5,40 @@
5
5
  ---
6
6
 
7
7
  すみません追記見てなかった。みんなコメントしてるじゃん。
8
- 1階層なら再帰関数使わなくていいし!
8
+ 1階層なら再帰関数使わなくていいし!
9
+
10
+ ---
11
+ (追記 2021/03/20)
12
+ 再帰呼び出しまでしなくてよさそうなので、1階層したのファイルをログに出すだけの処理を記載します。
13
+
14
+ ```VBA
15
+ Dim tFolder As String
16
+ Dim tSubFolders() As String
17
+ Dim tIndSubFolder As Long
18
+ Dim tIndFile As Long
19
+
20
+ ' サブフォルダをすべて取得
21
+ tIndSubFolder = 0
22
+ buf = Dir(fd_path & "*.*", vbDirectory)
23
+ Do While buf <> ""
24
+ If GetAttr(fd_path & "\" & buf) And vbDirectory Then
25
+ If buf <> "." And buf <> ".." Then
26
+ ReDim Preserve tSubFolders(tIndSubFolder)
27
+ tSubFolders(tIndSubFolder) = buf
28
+ tIndSubFolder = tIndSubFolder + 1
29
+ End If
30
+ End If
31
+ buf = Dir()
32
+ Loop
33
+ If tIndSubFolder > 0 Then
34
+ For tIndSubFolder = 0 To UBound(tSubFolders)
35
+ ' サブフォルダ配下のファイルを全て取得
36
+ buf = Dir(tFolder & "\" & tSubFolders(tIndSubFolder) & "*.*")
37
+ Do While buf <> ""
38
+ Debug.Print tSubFolders(tIndSubFolder) & "\" & buf
39
+ buf = Dir()
40
+ Loop
41
+ Next
42
+ End If
43
+ ```
44
+ 埋め込みまではしてないですが

1

追記

2021/03/20 03:43

投稿

xail2222
xail2222

スコア1525

answer CHANGED
@@ -1,3 +1,8 @@
1
1
  再帰関数を使ってファイル一覧を取得する感じがいいと思います。
2
2
 
3
- [再帰処理でフォルダー一覧を作成するサンプルマクロ](https://www.relief.jp/docs/excel-vba-recursive-list-folders.html)
3
+ [再帰処理でフォルダー一覧を作成するサンプルマクロ](https://www.relief.jp/docs/excel-vba-recursive-list-folders.html)
4
+
5
+ ---
6
+
7
+ すみません追記見てなかった。みんなコメントしてるじゃん。
8
+ 1階層なら再帰関数使わなくていいし!