ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Check or a file exist give wrong result (https://www.excelbanter.com/excel-programming/297037-check-file-exist-give-wrong-result.html)

Gerritvans

Check or a file exist give wrong result
 
Hi,

I have a number of txt files in a directory and wants to read them b
EXCEL.
The names of the files are defined by a formula.
However sometimes the formula create a filename which not reall
exists. So before I open the file in EXCEL I want to check or that fil
exists. To do that I used the code below:

Sub test()
With Application.FileSearch
.NewSearch
.LookIn = (Interaction.Environ$("userprofile") & "\M
Documents\Test files\")
.SearchSubFolders = False
.Filename = "up12_7.txt"
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
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

The problem is that in this case the MsgBox will report that 2 file
exist, "up12_7.txt" and "up12_70.txt", inspite the fact that
.MatchTextExactly = True is used.
How can I change this, so I'm sure it will only look to the fil
"up12_7.txt"?
Thanks for you help by forehand.

Best regards,

Gerri

--
Message posted from http://www.ExcelForum.com


tinyjack[_3_]

Check or a file exist give wrong result
 
I would not use the FileSearch object to do this, you can just use th
Dir function:


Code
-------------------

Sub test()

Dim strFound As String

strFound = Dir(Interaction.Environ$("userprofile") & "\My Documents\Test files\up12_7.txt")

If Len(strFound) 0 Then
MsgBox "File found"
Else
MsgBox "File NOT found."
End If

End Sub

-------------------


HTH

T

--
Message posted from http://www.ExcelForum.com


Tom Ogilvy

Check or a file exist give wrong result
 
MatchTextExactly has nothing to do with the file name. It is a parameter
for checking words/strings contained in a file.

The simple solution is to loop through he returned files and test for an
exact match with your filename string.

--
Regards,
Tom Ogilvy

"Gerritvans " wrote in message
...
Hi,

I have a number of txt files in a directory and wants to read them by
EXCEL.
The names of the files are defined by a formula.
However sometimes the formula create a filename which not really
exists. So before I open the file in EXCEL I want to check or that file
exists. To do that I used the code below:

Sub test()
With Application.FileSearch
NewSearch
LookIn = (Interaction.Environ$("userprofile") & "\My
Documents\Test files\")
SearchSubFolders = False
Filename = "up12_7.txt"
MatchTextExactly = True
FileType = msoFileTypeAllFiles
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

The problem is that in this case the MsgBox will report that 2 files
exist, "up12_7.txt" and "up12_70.txt", inspite the fact that
MatchTextExactly = True is used.
How can I change this, so I'm sure it will only look to the file
"up12_7.txt"?
Thanks for you help by forehand.

Best regards,

Gerrit


---
Message posted from http://www.ExcelForum.com/




Gerritvans[_2_]

Check or a file exist give wrong result
 
tinyjack wrote:
I would not use the FileSearch object to do this, you can just us
the Dir function:


Code
-------------------

Sub test()

Dim strFound As String

strFound = Dir(Interaction.Environ$("userprofile") & "\My Documents\Test files\up12_7.txt")

If Len(strFound) 0 Then
MsgBox "File found"
Else
MsgBox "File NOT found."
End If

End Sub

-------------------


HTH

TJ


Thanks TJ, your solution is working fine. But I still not understan
what was wrong with my solution...

Gerri

--
Message posted from http://www.ExcelForum.com


Tom Ogilvy

Check or a file exist give wrong result
 
Even after I explained it to you? What part don't you understand?

--
Regards,
Tom Ogilvy

"Gerritvans " wrote in message
...
tinyjack wrote:
I would not use the FileSearch object to do this, you can just use
the Dir function:


Code:
--------------------

Sub test()

Dim strFound As String

strFound = Dir(Interaction.Environ$("userprofile") & "\My

Documents\Test files\up12_7.txt")

If Len(strFound) 0 Then
MsgBox "File found"
Else
MsgBox "File NOT found."
End If

End Sub

--------------------


HTH

TJ


Thanks TJ, your solution is working fine. But I still not understand
what was wrong with my solution...

Gerrit


---
Message posted from http://www.ExcelForum.com/




Gerrit van Stempvoort

Check or a file exist give wrong result
 
Hi Tom,

I used the solution send in by tinyjack before you send in your solution.
When I psot my reply I did not notice that you had send another solution to.
From you I understand that MatchTextExactly = True has nothing to do with
filename, but still it is strange to me that if I ask for Filename =
"up12_7.txt" the filename "up12_70.txt" is also included. I'm afraid that
I'm not the only one that thinks like that and get an error because of this.

Anyway thanks for your solution and support. I see your name very often and
learned also a lot from your answers on question from other users.

Best regards,
Gerrit


"Tom Ogilvy" wrote in message
...
Even after I explained it to you? What part don't you understand?

--
Regards,
Tom Ogilvy

"Gerritvans " wrote in message
...
tinyjack wrote:
I would not use the FileSearch object to do this, you can just use
the Dir function:


Code:
--------------------

Sub test()

Dim strFound As String

strFound = Dir(Interaction.Environ$("userprofile") & "\My

Documents\Test files\up12_7.txt")

If Len(strFound) 0 Then
MsgBox "File found"
Else
MsgBox "File NOT found."
End If

End Sub

--------------------


HTH

TJ


Thanks TJ, your solution is working fine. But I still not understand
what was wrong with my solution...

Gerrit


---
Message posted from http://www.ExcelForum.com/







All times are GMT +1. The time now is 04:33 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com