Função eficiente de obter nomes de arquivos do Excel VBA

Preciso obter uma coleção de nomes de arquivos de uma pasta em um servidor remoto usando o VBA no excel 2010. Eu tenho uma função que funciona e, na maioria dos casos, ele faria o trabalho, no entanto, o servidor remoto freqüentemente tem um nível terrível,terrivel problemas de desempenho da rede. Isso significa que percorrer, digamos, 300 arquivos para colocar seus nomes em uma coleção pode levar 10 minutos, o número de arquivos na pasta provavelmente aumentará para milhares, portanto, isso não é viável, eu preciso de uma maneira de obter todos os nomes de arquivos em uma única solicitação de rede e sem loop. Acredito que esteja se conectando ao servidor remoto que está demorando, para que uma única solicitação seja capaz de obter todos os arquivos em uma única passagem rapidamente.

Esta é a função que atualmente tenho:

Private Function GetFileNames(sPath As String) As Collection
'takes a path and returns a collection of the file names in the folder

Dim oFolder     As Object
Dim oFile       As Object
Dim oFSO        As Object
Dim colList     As New Collection

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(folderpath:=sPath)

For Each oFile In oFolder.Files
    colList.Add oFile.Name
Next oFile

Set GetFileNames = colList

Set oFolder = Nothing
Set oFSO = Nothing

End Function

questionAnswers(3)

yourAnswerToTheQuestion