|
こんにちは。
Dir関数でサブフォルダまでファイル検索する方法を
教えていただきたいのですが。
作成しているマクロは”C:\test”フォルダ内(サブフォルダ含む)配下の”表”を含むエクセルファイルを検索して シートVer5.0がある場合に処理(セルに文字を入力)する
というものです。下記のコードですと、”C:\test”直下のファイルは検索できるのですがサブフォルダ配下までは検索できません。。
どなたか良い方法をご教授いただけるようお願いいたします。
Sub test()
Dim Mydir As String
Dim Filename As String
Dim mySh As String
Dim a As String
Dim myRng As Range
Dim i As Long
Dim n, ShtName, Flg
Mydir = "C:\test\"
'ファイル名を指定
Filename = Dir(Mydir & "\" & "*表.xls", VBnomal)
Do While Filename <> ""
'ファイルを開く
Workbooks.Open "C:\test\" & "\" & "*表.xls"
'シートの有無を確認
ShtName = "Ver5.0"
ShtName = "ver5.0"
Flg = True
For n = 1 To Worksheets.Count
If Worksheets(n).Name = ShtName Then
Flg = False
Exit For
End If
Next n
'シートVer5.0がある場合
If Flg = False Then
'MsgBox ShtName & "は存在します。"
'シートを選択
With Sheets("Ver5.0")
For i = 5 To .Range("j65536").End(xlUp).Row
If .Cells(i, "j").Value <> "" Then
.Cells(i, "j").Offset(, 1).Value = "OK"
End If
Next
End With
Workbooks(Filename).Save
Workbooks(Filename).Close
'シートVer5.0がない場合
Else
' MsgBox ShtName & "は存在しません。"
Workbooks(Filename).Close
End If
'End If
Filename = Dir()
Loop
End Sub
|
|