No te he contestado antes ya que he estado bastante liado.
Te incluyo a continuación un procedimiento que genera una lista de los ficheros (file_list) que se ajustan a un patrón dado a partir de un directorio concreto:
' *********************************************
' Lista todos los ficheros que se ajusten al patrón
' a partir de un directorio y sus subdirectorios.
' *********************************************
Private Sub ListFiles(ByVal start_dir As String, ByVal pattern As String, file_list As String)
Dim dir_names() As String
Dim num_dirs As Integer
Dim i As Integer
Dim fname As String
Dim new_files As String
Dim attr As Integer
' Evita errores frente a cosas como
' GetAttr("C:\pagefile.sys").
On Error Resume Next
' Obtiene los ficheros que se ajustan al patrón en el directorio actual.
fname = Dir(start_dir & "\" & pattern, vbNormal)
Do While fname <> ""
new_files = new_files & start_dir & _
"\" & fname & vbCrLf
fname = Dir()
Loop
file_list = file_list & new_files
' Aquí se puede incluir código de visualización de la lista.
' Obtiene la lista de subdirectorios.
fname = Dir(start_dir & "\*.*", vbDirectory)
Do While fname <> ""
' Salta el directorio actual y su predecesor.
attr = 0 ' In case there's an error.
attr = GetAttr(start_dir & "\" & fname)
If fname <> "." And fname <> ".." And _
(attr And vbDirectory) <> 0 _
Then
num_dirs = num_dirs + 1
ReDim Preserve dir_names(1 To num_dirs)
dir_names(num_dirs) = fname
End If
fname = Dir()
Loop
' Busca en los subdirectorios.
For i = 1 To num_dirs
ListFiles start_dir & "\" & dir_names(i), pattern, file_list
Next i
End Sub
En tu caso, si buscas el fichero 'PRUEBA.TXT' harías una llamada a la rutina así:
ListFiles "C:\", "PRUEBA.TXT", fichero
Y en la variable fichero obtendrías el nombre completo del fichero, por ejemplo:
"C:\Mis Documentos\PRUEBA.TXT"
Ten en cuenta que la rutina recupera TODOS los ficheros que tengan ese nombre, así que la lista podría ser de más de un fichero, por ejemplo:
"C:\PRUEBA.TXT
C:\Mis Documentos\PRUEBA.TXT"
Y tu tendrías que determinar cuál vas a usar.
La rutina está adaptada de otra obtenida en
http://www.vb-helper.comY te lo comento por si te quieres pasar por ahí a ver si tienen algo más de tu interés.