みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

FSOを使いサブフォルダのファイル操作

同じ階層のサブフォルダにxlsm入るが入っており、VBAによりモジュールを解放しようと試みています。
まずは、FSOを使ってサブフォルダにアクセスしようとしましたが、下から6行目でエラー(424 オブジェクトが必要です)が出てしまい、解決できませんので、ご教示いただけないでしょうか?
よろしくお願いします


Sub DeleteMain()

With Application.FileDialog(msoFileDialogFolderPicker)

If Not .Show Then Exit Sub

Call DeleteSub(folderPath:=.SelectedItems(1))

End With

End Sub

Sub DeleteSub(folderPath As String, Optional mycount As Long = 0)

Dim fso As Object, myFolders As Object, myfile As Object

Set fso = CreateObject("Scripting.FileSystemObject")
Set myFolders = fso.GetFolder(folderPath).SubFolders

For Each myfile In fso.GetFolder(folderPath).Files
mycount = mycount + 1
' Cells(mycount, 1) = myfile.Path
Debug.Print myfile.Path
Next

For Each myFolders In fso.GetFolder(folder.Path).SubFolders

Call DeleteSub(myFolder.Path, mycount)

Next

Set fso = Nothing
Set myFolders = Nothing
End Sub

投稿日時 - 2019-03-26 18:45:38

QNo.9600778

困ってます

質問者が選んだベストアンサー

エラーの出ている箇所には他では使われていない名前folder.Pathがありますね。

投稿日時 - 2019-03-26 20:19:37

お礼

回答ありがとうございます
ご指摘の箇所とそれに関連する箇所を修正し、無事動作することができました。

投稿日時 - 2019-03-27 12:44:43

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問