VBA – 폴더에 있는 파일 나열하기
Last updated on 3월 10, 2023
이 튜토리얼에서는 폴더에 있는 모든 파일의 이름을 가져와 워크시트에 넣는 방법을 배웁니다.
파일이 존재하는지 확인하는 방법을 배우려면 이 링크를 클릭하세요: VBA File Exists
FileSystemObject 를 사용하여 폴더의 파일 목록 가져오기
VBA 에서는 FileSystemObject.를 사용하여 폴더의 모든 파일을 나열할 수 있습니다.
C:\VBA Folder 폴더에 있는 파일 목록을 가져와 워크시트의 첫 번째 열에 넣는 방법을 보여드리겠습니다. 이 폴더는 그림1과 같이 5개의 파일로 구성되어 있습니다:
그림1. C:\VBA Folder 폴더 내의 파일들
코드는 다음과 같습니다:
Sub LoopThroughFiles ()
Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\VBA Folder")
For Each oFile In oFolder.Files
Cells(i + 1, 1) = oFile.Name
i = i + 1
Next oFile
End Sub
이 예제에서는 먼저 Scripting.FileSystemObject 클래스의 객체를 만듭니다:
Set oFSO = CreateObject("Scripting.FileSystemObject")
그런 다음 GetFolder 메서드를 사용하여 폴더를 설정합니다:
Set oFolder = oFSO.GetFolder("C:\VBA Folder")
다음으로 oFile.Name을 사용하여 폴더의 모든 파일 이름을 가져와 다음 빈 행에 쓰는 방식으로 oFolder의 각 파일을 반복합니다:
For Each oFile In oFolder.Files
Cells(i + 1, 1) = oFile.Name
i = i + 1
Next oFile
그림2. 폴더의 파일 목록이 나열된 워크시트
그림2에서 볼 수 있듯이 C:\VBA Folder 폴더의 파일 5개가 모두 첫 번째 열에 나열되어 있습니다.