Excel 2010의 VBA를 사용하는 원격 서버의 폴더에서 파일 이름 모음을 가져와야합니다. 작동하는 기능이 있으며 대부분의 경우 작업을 수행 할 수 있습니다. 그러나 원격 서버는 종종 끔찍한 끔찍한 네트워크 성능 문제가 있습니다. 즉, 300 개의 파일을 반복하여 콜렉션에 이름을 넣을 때 10 분이 걸리므로 폴더의 파일 수가 수천 개로 늘어날 가능성이 있으므로이를 수행 할 수 없으므로 모든 파일 이름을 가져올 수있는 방법이 필요합니다. 단일 네트워크 요청에서 루핑하지 않습니다. 저는 원격 서버에 연결하는 것이 시간을 들여서 하나의 요청이 모든 파일을 상당히 빨리 얻을 수 있어야한다고 생각합니다.Excel VBA 효율적인 파일 이름 가져 오기 기능
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
+1 좋은 질문 :) 당신은 거의 나를 생각하고있었습니다! –