Application.FileSearch.Filename anomaly setting beginning of filenamesubstring

F

FUBARinSFO

Hi:

The problem is that I want to find files like "'INV*.DOC", but I'm
also picking up "xxINV*.DOC" files as well.

DOS doesn't have this problem, but Application.FileSearch.Filename
seems to have it.

If I specifiy a wildcard for the file extension, it works OK, but not
if I specify the extension. e.g. "INV*.*" doesn't pick up the
"xxINV*.DOC" files.

Indexing is turned off. Using Word 2003. I have seen that there are
problems with this function, but I can't believe at Office11 this
problem hasn't been sorted out.

Code example below

Thanks in advance for your help.

-- Roy Zider


Public Sub TestFileSearch()
' 12/3/2007 lsz
' Testing application.filesearch for start of filename problem with
xxinv*.doc
' Test with three files: t1.txt, t2.txt and xxt3.txt

Dim oFS As Object
Dim i As Integer
Set oFS = Application.FileSearch
With oFS
.LookIn = "C:\temp test\filesearch"
.FileName = "t*.*" ' OK - xxt3.txt not found
' .FileName = "t*.txt" ' not OK -- finds xxt3.txt as well
' .FileName = "inv*.doc" ' not OK -- finds xxinv.doc
If .Execute > 0 Then
MsgBox "There were " & .FoundFiles.Count & _
" file(s) found."
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "There were no files found."
End If
End With

End Sub
 
Z

zkid

Well, that's not very logical, is it?! Anyway, here are a couple of fixes:

First, instead of Dim oFS As Object, dimension it as Dim oFS As FileSearch.
It won't change how the code works, but it will provide you pop-up content
help.

Second, change the document extension as follows: "Inv*.doc" becomes
"Inv*.do*"

It works - can't explain why....
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top