分かりやすいように書き換えていましたが、本来のコードで質問させていただきます
sampleでFileSearchを引数つきで呼び出します
一番下のFor Each Folder In FSO.GetFolder(path).SubFoldersの記述でサブフォルダを再帰を使い全て取得していきます。
Do While book <> ""で、サブフォルダに指定したファイル(book)がある場合、そのファイルを開かずに何らかの処理をしたいと思っています
以下だとオブジェクトは、このプロパティまたはメソッドをサポートしていません。と表示されてしまいます。
Sub sample() Call FileSearch("C:\Users\kimura\Documents\Document\テスト) End Sub Sub FileSearch(path As String) Dim FSO As Object, Folder As Variant, File As Variant, buf As String Set FSO = CreateObject("Scripting.FileSystemObject") book = Dir(path & "*テスト.xls*") Do While book <> "" Thisworkbook.Worksheets("イベント").Range("A33").Value = ExecuteExcel4Macro("'" & path & "[" & buf & "]テスト2シート'!R1C1") buf = Dir() Loop For Each Folder In FSO.GetFolder(path).SubFolders Call FileSearch(Folder.path) Next Folder End Sub
参照サイト
https://excel-ubara.com/excelvba5/EXCELVBA242.html
https://binary-star.net/excel-vba-excel4-dellsdataread
回答3件
あなたの回答
tips
プレビュー