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

質問編集履歴

3

書式の改善

2019/01/25 02:29

投稿

nagadora
nagadora

スコア12

title CHANGED
File without changes
body CHANGED
@@ -27,21 +27,32 @@
27
27
 
28
28
  End Sub
29
29
  をしておりましたが、うまくいかず
30
- Sub MyFileSystemObject(path)
30
+ Sub GetFileList03(Search_Path)
31
+ Dim objFs As Object, objFiles As Object, objFolders As Object
31
- Dim fso As Object
32
+ Dim File_Path As String, File_Name As String
32
- Dim file, folder As Variant
33
+ Dim i As Long, arrData
34
+ '処理が遅くなるのでプログラム実行中の画面描画を停止する
35
+ Application.ScreenUpdating = False
33
- Set fso = CreateObject("Scripting.FileSystemObject")
36
+ Set objFs = CreateObject("Scripting.FileSystemObject")
34
-
35
- '-- フォルダパスの取得
37
+ 'パスの取得
36
- For Each folder In fso.GetFolder(path).SubFolders
38
+ For Each objFolders In objFs.GetFolder(Search_Path).SubFolders
37
- '-- サブディレクトリ内まで検索するに再帰的に関数を呼び出す
39
+ 'サブフォルダまで検索するために再帰実行
38
- MyFileSystemObject folder.path
40
+ GetFileList03 objFolders.Path
39
41
  Next
42
+
43
+ 'ファイル名の取得
44
+ For Each objFiles In objFs.GetFolder(Search_Path).Files
45
+ '\マークを区切り文字として各文字列を配列に代入
46
+ arrData = Split(objFiles.Path, "\")
47
+
48
+ 'セルに配列の各値を書き込む
49
+ For i = 0 To UBound(arrData)
50
+ ActiveCell.Offset(0, i).Value = arrData(i)
51
+ Next i
52
+ Debug.Print Worksheets(Worksheets.Count).Name
53
+ ActiveCell.Offset(1, 0).Select
54
+ Next
40
55
 
41
- '-- ファイルパスの取得
42
- For Each file In fso.GetFolder(path).Files
43
- Debug.Print file.path
44
- Next
45
56
  End Sub
46
57
  を御教授頂きましたが、実は、指定するシートにボタン一つで出力できるようにしたいと考えておりますが、うまくいきません。
47
58
  また、マクロ名を登録したいのですが、Sub 名前()というのは利用できず困惑しております。

2

書式の改善

2019/01/25 02:29

投稿

nagadora
nagadora

スコア12

title CHANGED
File without changes
body CHANGED
@@ -44,6 +44,7 @@
44
44
  Next
45
45
  End Sub
46
46
  を御教授頂きましたが、実は、指定するシートにボタン一つで出力できるようにしたいと考えておりますが、うまくいきません。
47
+ また、マクロ名を登録したいのですが、Sub 名前()というのは利用できず困惑しております。
47
48
  恐れ入りますが、再度ご教授いただければ幸いです。何卒よろしくお願い申し上げます。
48
49
 
49
50
 

1

修正

2019/01/25 01:45

投稿

nagadora
nagadora

スコア12

title CHANGED
File without changes
body CHANGED
@@ -26,7 +26,25 @@
26
26
     End With
27
27
 
28
28
  End Sub
29
- をしましたが、うまくできません。
29
+ をしておりましたが、うまくいかず
30
+ Sub MyFileSystemObject(path)
31
+ Dim fso As Object
32
+ Dim file, folder As Variant
33
+ Set fso = CreateObject("Scripting.FileSystemObject")
34
+
35
+ '-- フォルダパスの取得
36
+ For Each folder In fso.GetFolder(path).SubFolders
37
+ '-- サブディレクトリ内まで検索するには再帰的に関数を呼び出す
38
+ MyFileSystemObject folder.path
39
+ Next
40
+
41
+ '-- ファイルパスの取得
42
+ For Each file In fso.GetFolder(path).Files
43
+ Debug.Print file.path
44
+ Next
45
+ End Sub
46
+ を御教授頂きましたが、実は、指定するシートにボタン一つで出力できるようにしたいと考えておりますが、うまくいきません。
47
+ 恐れ入りますが、再度ご教授いただければ幸いです。何卒よろしくお願い申し上げます。
30
48
 
31
49
 
32
50
  ### 補足情報(FW/ツールのバージョンなど)