質問編集履歴

3

書式の改善

2019/01/25 02:29

投稿

nagadora
nagadora

スコア12

test CHANGED
File without changes
test CHANGED
@@ -56,35 +56,57 @@
56
56
 
57
57
  をしておりましたが、うまくいかず
58
58
 
59
- Sub MyFileSystemObject(path)
59
+ Sub GetFileList03(Search_Path)
60
60
 
61
- Dim fso As Object
61
+ Dim objFs As Object, objFiles As Object, objFolders As Object
62
62
 
63
- Dim file, folder As Variant
63
+ Dim File_Path As String, File_Name As String
64
64
 
65
- Set fso = CreateObject("Scripting.FileSystemObject")
65
+ Dim i As Long, arrData
66
66
 
67
-
67
+ '処理が遅くなるのでプログラム実行中の画面描画を停止する
68
68
 
69
- '-- フォルダパスの取得
69
+ Application.ScreenUpdating = False
70
70
 
71
- For Each folder In fso.GetFolder(path).SubFolders
71
+ Set objFs = CreateObject("Scripting.FileSystemObject")
72
72
 
73
- '-- サブディレクトリ内まで検索するには再帰的に関数を呼び出す
73
+ 'パスの取得
74
74
 
75
+ For Each objFolders In objFs.GetFolder(Search_Path).SubFolders
76
+
77
+ 'サブフォルダまで検索するために再帰実行
78
+
75
- MyFileSystemObject folder.path
79
+ GetFileList03 objFolders.Path
80
+
81
+ Next
82
+
83
+
84
+
85
+ 'ファイル名の取得
86
+
87
+ For Each objFiles In objFs.GetFolder(Search_Path).Files
88
+
89
+ '\マークを区切り文字として各文字列を配列に代入
90
+
91
+ arrData = Split(objFiles.Path, "\")
92
+
93
+
94
+
95
+ 'セルに配列の各値を書き込む
96
+
97
+ For i = 0 To UBound(arrData)
98
+
99
+ ActiveCell.Offset(0, i).Value = arrData(i)
100
+
101
+ Next i
102
+
103
+ Debug.Print Worksheets(Worksheets.Count).Name
104
+
105
+ ActiveCell.Offset(1, 0).Select
76
106
 
77
107
  Next
78
108
 
79
109
 
80
-
81
- '-- ファイルパスの取得
82
-
83
- For Each file In fso.GetFolder(path).Files
84
-
85
- Debug.Print file.path
86
-
87
- Next
88
110
 
89
111
  End Sub
90
112
 

2

書式の改善

2019/01/25 02:29

投稿

nagadora
nagadora

スコア12

test CHANGED
File without changes
test CHANGED
@@ -90,6 +90,8 @@
90
90
 
91
91
  を御教授頂きましたが、実は、指定するシートにボタン一つで出力できるようにしたいと考えておりますが、うまくいきません。
92
92
 
93
+ また、マクロ名を登録したいのですが、Sub 名前()というのは利用できず困惑しております。
94
+
93
95
  恐れ入りますが、再度ご教授いただければ幸いです。何卒よろしくお願い申し上げます。
94
96
 
95
97
 

1

修正

2019/01/25 01:45

投稿

nagadora
nagadora

スコア12

test CHANGED
File without changes
test CHANGED
@@ -54,7 +54,43 @@
54
54
 
55
55
  End Sub
56
56
 
57
- をしましたが、うまくできません。
57
+ をしておりましたが、うまくいかず
58
+
59
+ Sub MyFileSystemObject(path)
60
+
61
+ Dim fso As Object
62
+
63
+ Dim file, folder As Variant
64
+
65
+ Set fso = CreateObject("Scripting.FileSystemObject")
66
+
67
+
68
+
69
+ '-- フォルダパスの取得
70
+
71
+ For Each folder In fso.GetFolder(path).SubFolders
72
+
73
+ '-- サブディレクトリ内まで検索するには再帰的に関数を呼び出す
74
+
75
+ MyFileSystemObject folder.path
76
+
77
+ Next
78
+
79
+
80
+
81
+ '-- ファイルパスの取得
82
+
83
+ For Each file In fso.GetFolder(path).Files
84
+
85
+ Debug.Print file.path
86
+
87
+ Next
88
+
89
+ End Sub
90
+
91
+ を御教授頂きましたが、実は、指定するシートにボタン一つで出力できるようにしたいと考えておりますが、うまくいきません。
92
+
93
+ 恐れ入りますが、再度ご教授いただければ幸いです。何卒よろしくお願い申し上げます。
58
94
 
59
95
 
60
96