VBA - Loop Do While retorna Dir <chamada ou argumento de procedimento inválido>

Estou executando um loop por uma pasta para obter o endereço completo do nome do arquivo (endereço das pastas + nome e extensão do arquivo).

Estou usando o seguinte, mas em algum momento o valor Dir é<Invalid procedure call or argument>

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

O erro é lançado antes do loop como concluído, lendo todos os arquivos.

EDIT: outra abordagem e Dir está mudando toda vez que eu pressiono F8

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

Estou tentando esta última abordagem e recebo o mesmo erro. O problema é que, quando executo o código linha por linha (F8), vejo que o valor Dir muda sempre que uma nova linha de código é executada dentro do While.

questionAnswers(2)

yourAnswerToTheQuestion