Squall,
Também tive essa necessidade e achei postado em algum forum, não lembro qual, a seguinte função, para meu uso funcionou sem problemas.
Essa função retorna o caminho completo do arquivo.
Private Sub Form_Load()
Dim Achou
Achou = Procura_Arquivo("c:", "meu_arquivo.txt")
End Sub
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 Procura_Arquivo(Caminho As String, NomeArquivo As String) As String
Dim lNullPos As Long
Dim lResultado As Long
Dim sBuffer As String
On Error GoTo Procura_Arquivo_Error
'Aloca espaco para a string sBuffer
sBuffer = Space(MAX_PATH * 2)
'inicia busca do arquivo
lResultado = SearchTreeForFile(Caminho, NomeArquivo, sBuffer)
' Se houver um caracter Nulo , remove
If lResultado Then
lNullPos = InStr(sBuffer, vbNullChar)
If Not lNullPos Then
sBuffer = Left(sBuffer, lNullPos - 1)
End If
'Retorna o nome do arquivo encontrado
Procura_Arquivo = sBuffer
Else
'nao achou nada
Procura_Arquivo = vbNullString
End If
Exit Function
Procura_Arquivo_Error:
Procura_Arquivo = vbNullString
End Function