".MatchTextExactly = true" not always the case, please help.

G

Guest

I've written an Excel macro that searches through a list of files using
Application .FileSearch in a specified location created by another
application, and then does some other stuff with those files.

The macro looks for a standard filename to know which files are which, and I
built in a check to stop the routine if it comes across multiple files with
the same name, in case the other application was run multiple times resulting
in multiple copies of the files. The problem is that the output files from
the other application have some similarity, for example:
"1A.eplmdf"
"LA1A.eplmdf"
"S01A.eplmdf"

I set the .MatchTextExactly field equal to "True" which I thought would make
FileSearch actually match the text exactly, but instead if it's seeing all of
the files listed above with "1A.eplmdf" in their name.

Is there some way I can have it look for just "1A.eplmdf" and not see all of
the other files that have "1A.eplmdf" in their name?

Thanks.
 
V

Vasant Nanavati

Are you using TextorProperty instead of Filename? MatchTextExactly is
behaving the way it is supposed to.
______________________________________________________________________
 
G

Guest

matchtextexactly is a setting for when you are looking for files containing a
specific string. It has nothing to do with the filenames.

just get a list of probable files and loop through them picking out the
exact matches.
 
G

Guest

Ok, so if MatchTextExactly is searching for a string, is there another
parameter I can use to have FileSearch look for nothing else outside that
string? Or modify the search to look for nothing outside the string?

I'd like to keep from adding more code to search for results within the
search results.

Thanks.
 
N

NickHK

Not sure exactly what you are after (I'd drop the .FileSearch), but
something like this ?

Private Sub CommandButton1_Click()
Dim FileName As String

Const PATH As String = "C:\"
Const FILTER As String = "??"
Const EXT As String = ".txt"

FileName = Dir(PATH & FILTER & EXT)

Do While FileName <> ""
Debug.Print FileName
FileName = Dir()
Loop

End Sub

For 2 characters only in the filename, use
Const FILTER As String = "??"

For anything that ends in 1A in the filename, use
Const FILTER As String = "*1A"
...etc

If you need complex filtering, then get the filename and apply some LIKE
expression or resort to Regular Expressions.

NickHK
 

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