VBA: Do While Loop devuelve Dir <Llamada o argumento de procedimiento no válido>

Estoy ejecutando un bucle a través de una carpeta para obtener la dirección completa del nombre de archivo (dirección de carpetas + nombre de archivo y extensión).

Estoy usando lo siguiente, pero en algún momento el valor Dir es<Invalid procedure call or argument>

recsFolder = Functions.GetFolder("C:\")
recfile = recsFolder & "\" & Dir(recsFolder & "\*.rec*")
Do While Len(recfile) > 0
   recfile = recsFolder & "\" & Dir
Loop

El error se produce antes del ciclo cuando se completa la lectura de todos los archivos.

EDITAR: otro enfoque y Dir cambia cada vez que presiono F8

If Right(recsFolder, 1) <> "\" Then recsFolder = recsFolder & "\"
numFiles = 0
recfile = Dir(recsFolder)
While recfile <> ""
    numFiles = numFiles + 1
    recfile = Dir()
Wend

Estoy probando este último enfoque y me sale el mismo error. El problema es que cuando ejecuto el código línea por línea (F8) puedo ver que el valor Dir cambia cada vez que se ejecuta una nueva línea de código dentro del While.

Respuestas a la pregunta(2)

Su respuesta a la pregunta