再帰呼び出しで、変数bufが見つかった場合は、配列Sheet、Sheet_pathに格納するコードを書いています。
bufを全て取得したらcallで別のプロシージャを呼び出そうと思っているのですが、再帰の時点ではbufが何個あるのか分からず、いつifでcallを実行できるのかで悩んでいます。
現時点のコード
Sub FileSearch(path) Dim FSO As Object, Folder As Variant, file As Variant, buf As String, this As Worksheet Set FSO = CreateObject("Scripting.FileSystemObject") buf = Dir(path & "*test.xls*") Do While buf <> "" ReDim Preserve Sheet(bb) ReDim Preserve Sheet_path(bb) Sheet(bb) = buf Sheet_path(bb) = path bb = bb + 1 buf = Dir() If Then 'ここで思考中 Call hikaku End End If Loop For Each Folder In FSO.GetFolder(path).SubFolders Call FileSearch(Folder.path) '??A??яo?? Next Folder End Sub
例えばbufが7つあれば、
If bb=8 then call hikaku End End If
とできるのですが、全てのフォルダに7つづつあるとも限りません
どうやって再帰を抜け出そうか思考中です
よろしくお願いします
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。