Podem testar, criando um txt de nome teste.txt em C:\
Abrir a janela Immediate com as teclas Ctrl+G, e digitar
?ProcuraFicheiros("teste.txt")
Colem num modulo novo;
Private Declare Function apiSearchTreeForFile Lib "imagehlp" Alias "SearchTreeForFile" _
(ByVal RootPath As String, _
ByVal InputPathName As String, _
ByVal OutputBuffer As String) As Long
Private Const MAX_PATH = 260
Function ProcuraFicheiros(strFile As String, Optional varPath As Variant) As String
'Função para retornar o local de um arquivo, pelo nome, procurando em profundidade
'strFile - O nome do arquivo a ser encontrado, exemplo ProcuraFicheiros("teste.txt")
'varPath (Opcional) - o caminho para começar a procurar o arquivo, exemplo ProcuraFicheiros("teste.txt","C:")
Dim strRetorna As String
Dim strEncontrado As Long
If IsMissing(varPath) Then varPath = "C:" 'Drive por defeito para a procura, mas procura em todas as existentes
strRetorna = String(MAX_PATH, 0)
strEncontrado = apiSearchTreeForFile(varPath, strFile, strRetorna)
If strEncontrado <> 0 Then
ProcuraFicheiros = Left(strRetorna, InStr(strRetorna, Chr(0)) - 1)
End If
End Function
Abrir a janela Immediate com as teclas Ctrl+G, e digitar
?ProcuraFicheiros("teste.txt")
Colem num modulo novo;
Private Declare Function apiSearchTreeForFile Lib "imagehlp" Alias "SearchTreeForFile" _
(ByVal RootPath As String, _
ByVal InputPathName As String, _
ByVal OutputBuffer As String) As Long
Private Const MAX_PATH = 260
Function ProcuraFicheiros(strFile As String, Optional varPath As Variant) As String
'Função para retornar o local de um arquivo, pelo nome, procurando em profundidade
'strFile - O nome do arquivo a ser encontrado, exemplo ProcuraFicheiros("teste.txt")
'varPath (Opcional) - o caminho para começar a procurar o arquivo, exemplo ProcuraFicheiros("teste.txt","C:")
Dim strRetorna As String
Dim strEncontrado As Long
If IsMissing(varPath) Then varPath = "C:" 'Drive por defeito para a procura, mas procura em todas as existentes
strRetorna = String(MAX_PATH, 0)
strEncontrado = apiSearchTreeForFile(varPath, strFile, strRetorna)
If strEncontrado <> 0 Then
ProcuraFicheiros = Left(strRetorna, InStr(strRetorna, Chr(0)) - 1)
End If
End Function