最近遇到一个很难搞的问题:大家帮帮忙!问题描述:我写了一个检索文件的工具,使用了application.FileSeach,在四台电脑上一直非常好用的。今天突然有一台不知怎么回事就是检索不到文件,指定文件夹下明明有很多的.xls文件。我调试一下代码没有任何问题,就是检索不到文件,在其他三台上是正常的。于是我重启电脑,还是不行,我在网上找了很久有人说把ACCESS的安全降到最低,我试了还是不行。最后我把OFFICE卸了重装,还是不行。
调试欢乐多
' FileSearchのサンプル(条件に該当するものをシートに表示)
' ※シート上の入力値に対する条理チェックは行なっていません。
'*******************************************************************************
Sub Sample_FileSearch()
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 ' FileSearch
Set objFSO = New FileSystemObject ' FSO
Rows("5:65536").ClearContents
GYO = 4
With objFS
.NewSearch
.LookIn = Trim(Cells(1, 2).Value) ' Search開始フォルダ
.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
'---------------------------------------------------------------
' ↓↓↓この間が見つかったファイルに対する処理↓↓↓
' FSOにてファイルを取得
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
Set objFS = Nothing
Set objFSO = Nothing
' 処理結果の表示
If cntFound = 0 Then
MsgBox "見つかりません"
Else
MsgBox cntFound & "個見つかりました"
End If
End Sub