Find That File
Know the filename, but don注释:t know the directory?
Give your application a little more intelligence, with this incredibly compact find-file routine. It注释:ll do all the hard work for you - just pass it a filename and it注释:ll return the full and completed path.
This one works by calling a function in the IMAGEHLP DLL - and search through all subdirectories of the specified path, looking for the passed filename. It returns the full and completed path of your file.
To use this code, call FindFile, passing in the root path and filename. The function returns the full and completed path - or a null string if nothing was found.
Usage
MsgBox FindFile("c:", "NWind.mdb")Code
Declare Function SearchTreeForFile Lib "IMAGEHLP.DLL" _
(ByVal lpRootPath As String, _
ByVal lpInputName As String, _
ByVal lpOutputName As String) As Long
Public Const MAX_PATH = 260
Public Function FindFile(RootPath As String, _
FileName As String) As String
Dim lNullPos As Long
Dim lResult As Long
Dim sBuffer As String
On Error GoTo FileFind_Error
注释:Allocate buffer
sBuffer = Space(MAX_PATH * 2)
注释:Find the file
lResult = SearchTreeForFile(RootPath, FileName, sBuffer)
注释:Trim null, if exists
If lResult Then
lNullPos = InStr(sBuffer, vbNullChar)
If Not lNullPos Then
sBuffer = Left(sBuffer, lNullPos - 1)
End If
注释:Return filename
FindFile = sBuffer
Else
注释:Nothing found
FindFile = vbNullString
End If
Exit Function
FileFind_Error:
FindFile = vbNullString
End FunctionTip by Karl Moore
文章来源于领测软件测试网 https://www.ltesting.net/
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073









