VBAの問題が解けなく、とても困っています、勉強不足なこともあり、どなたかわかる方教えていただきたいです。

VBAの問題が解けなく、とても困っています、勉強不足なこともあり、どなたかわかる方教えていただきたいです。 ↓問題 FileDialog関数とFSOを使い、指定したフォルダに入っているファイルの名前をB1から下に表示。 という問題です、わかる方いましたらご回答よろしくお願い致します。

Visual Basic72閲覧

ベストアンサー

0

途中で躓いたんです?(´・ω・) 全く判らないというなら勉強もっと頑張らないとです。 Sub test() Dim fso, fl Dim fld As String Dim cnt As Long Set fso = CreateObject("Scripting.FileSystemObject") With Application.FileDialog(msoFileDialogFolderPicker) If .Show = True Then fld = .SelectedItems(1) For Each fl In fso.GetFolder(fld).Files cnt = cnt + 1 If fso.FileExists(fl) Then Cells(cnt, "B") = fl.Name Next fl End If End With Set fso = Nothing End Sub

ご回答いただきありがとうございます! いえ、FileDialogはわかるのですが、FSOがよくわからなく、、。 基礎から勉強したいのもあるのですが、今の状況から、問題を先に解かなければいけなく、こうしてVBAができる人にお聞きしている次第です、、、。 お手を煩わせてしまい申し訳ないです、、。 記入しましたらできました! 見てて思ったのですが、Dim fso, flとは何でしょうか、、? Dimを使うときは、Dim 変数 As 型ではないのでしょうか? 無知で申し訳ないです、お手数おかけしてしまい申し訳ないのですが、よろしくお願い致します。

ThanksImg質問者からのお礼コメント

お二方ご回答いただきありがとうございました! わかりやすさで見ますと、関数は苦手さんの方がわかりやすかったので、ベストアンサーにしたいと思います。 丁寧に説明してくださりありがとうございました!

お礼日時:9/9 17:52

その他の回答(1件)

0

こういう事でしょうか。 Sub ff() Dim FD As FileDialog Dim dirPath As String Dim myDir As Object Set FD = Application.FileDialog(msoFileDialogFolderPicker) With FD .AllowMultiSelect = False If .Show <> -1 Then Exit Sub dirPath = .SelectedItems(1) End With Set myDir = CreateObject("Scripting.FileSystemObject").getfolder(dirPath) Dim f As Object Dim i As Long i = 1 For Each f In myDir.Files If i = 1 Then Cells(i, 2).Value = f.Name Else Cells(Rows.Count, 2).End(xlUp).Offset(1) = f.Name End If i = i + 1 Next f Set FD = Nothing: Set myDir = Nothing: Set f = Nothing End Sub

この返信は削除されました