PDA

Click to See Complete Forum and Search --> : type mismatch in findnextfile


MPrestonf12
Aug 6th, 2000, 03:50 PM
Can some one help me out on this one. I get a type mismatch and I can't figure out why it is in a directory where it won't get caught up on folders. the error break down where I have it marked.

Dim file As Win32_Find_data
Dim search As Long
Dim success As Long
Dim buffer As Long
search = FindFirstFile("C:\Windows*.*", file)
If search = -1 Then
Debug.Print "No files found"
End
End If
Do
'error breaks here' buffer = Left(file.cFileName, InStr(file.cFileName, vbNullChar) - 1)
Debug.Print buffer

success = FindNextFile(search, file)
Loop Until success = 0

End Sub

Cougar0119
Aug 6th, 2000, 05:12 PM
You declared buffer as a long. Buffer needs to be a string (or variant). I recommend string and instead of Left() (which, I believe returns a variant) use Left$().

Good Luck!

MPrestonf12
Aug 6th, 2000, 06:13 PM
Thanks, but I still get a return value of €»RÞð¿
ÀÈUÞð¿. What the ????.

QWERTY
Aug 6th, 2000, 07:45 PM
It seems that you have a problem with InStr Function. You have

'error breaks here'
buffer = Left(1,file.cFileName, InStr(file.cFileName, vbNullChar) - 1)

The correct syntax should be:

buffer = Left(1,file.cFileName, InStr(1, file.cFileName, vbNullChar) - 1)

HTH

Post #500