|
.Filename = Trim(Cells(2, 2).Value)でB2にある文字列のファイルを、
B1のフォルダから探し出す様になっています。
特定の文字列を含むファイルを探す場合はワイルドカードを使えば問題ないのですが、
時々必要になる「or条件」で探す方法が思いつきません。
例えば、100個のファイルがあるフォルダから、
「A」or「B」or「C」の文字列を含むファイルを検索するような場合です。
「時々」であれば、「A」→「B」→「C」で3回検索すれば良いのですが、
処理の短縮のために対応策を考えている次第です。
参考情報でも構いませんので、ご意見を伺えれば幸甚です。
Dim vntF As Variant
Dim objFS As FileSearch
Dim objFSO As FileSystemObject
Dim dteDate As Date
Dim GYO As Long
Dim cntFound As Long
Set objFS = Application.FileSearch
Set objFSO = New FileSystemObject
Rows("5:65536").ClearContents
GYO = 4
With objFS
.NewSearch
.LookIn = Trim(Cells(1, 2).Value)
.Filename = Trim(Cells(2, 2).Value)
dteDate = DateAdd("m", Cells(3, 2).Value * -1, Date)
.SearchSubFolders = True
If .Execute() <> 0 Then
For Each vntF In .FoundFiles
With objFSO.GetFile(vntF)
If .DateLastModified >= dteDate Then
GYO = GYO + 1
Cells(GYO, 1).Value = .Name
Cells(GYO, 2).Value = .DateLastModified
Cells(GYO, 3).Value = _
Left(.Path, Len(.Path) - Len(.Name) - 1)
cntFound = cntFound + 1
End If
End With
Next vntF
End If
End With
|
|