이 글은 도움말을 번역한 글입니다.
Folders 컬렉션
Folder 개체 안에 있는 모든 Folder 개체의 컬렉션입니다.
비고
아래 코드에서는 Folders 컬렉션을 가져와서 For Each...Next 문을 사용하여 그 컬렉션을 반복 실행하는 방법을 보여줍니다.
Sub ShowFolderList(folderSpec)
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderSpec)
Set fc = f.SubFolders
For Each f1 In fc
s = s & f1.Name
s = s & vbCrLf
Next
MsgBox s
End Sub
Sub CallShowFolderList()
Dim folderSpec As String
folderSpec = "D:\"
ShowFolderList folderSpec
End Sub
속성
Count Property
해당 폴더 내의 직접적으로 포함된 하위 폴더의 수를 나타내는 읽기 전용 속성입니다.
아래 코드는 주어진 폴더 경로의 하위 폴더 개수를 계산하여 메시지 박스로 출력합니다.
Function GetSubfolderCount(folderPath As String) As Integer
Dim objFSO As Object
Dim objFolder As Object
' FileSystemObject 생성
Set objFSO = CreateObject("Scripting.FileSystemObject")
' 특정 폴더 경로 지정
Set objFolder = objFSO.GetFolder(folderPath)
' 하위 폴더 개수 가져오기
GetSubfolderCount = objFolder.SubFolders.Count
' 개체 해제
Set objFolder = Nothing
Set objFSO = Nothing
End Function
Sub CountSubfolders()
Dim folderPath As String
Dim subfolderCount As Integer
' 폴더 경로 지정
folderPath = "D:\"
' 하위 폴더 개수 가져오기
subfolderCount = GetSubfolderCount(folderPath)
' 하위 폴더 개수 출력
MsgBox "하위 폴더 개수: " & subfolderCount
End Sub
Item Property
FileSystemObject(FSO)의 Folders 컬렉션에서 특정 폴더를 가져오는 읽기 전용 속성입니다.
아래 코드는 특정 폴더의 경로를 찾아서 메시지 박스로 출력합니다.
Sub GetSpecificFolder()
Dim fso As Object
Dim foldersCollection As Object
Dim targetFolder As Object
' FileSystemObject 생성
Set fso = CreateObject("Scripting.FileSystemObject")
' 특정 폴더의 컬렉션 가져오기
Set foldersCollection = fso.GetFolder("D:\").SubFolders
' Key 값을 사용하여 특정 폴더 가져오기
Set targetFolder = foldersCollection.Item("download")
' 특정 폴더 경로 출력
MsgBox "특정 폴더 경로: " & targetFolder.Path
' 개체 해제
Set fso = Nothing
End Sub
메서드
Add method
Folders 컬렉션에 새 폴더를 추가합니다.
object.Add(folderName)
object : 필수적인 요소. 항상 Folders 컬렉션의 이름입니다.
folderName : 필수적인 요소. 추가할 새 Folder의 이름입니다.
비고
아래 예제는 새 폴더를 추가하기 위한 Add 메서드 사용법을 보여줍니다.
Sub AddNewFolder(path, folderName)
Dim fso, f, fc, nf
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(path)
Set fc = f.SubFolders
If folderName <> "" Then
Set nf = fc.Add(folderName)
Else
Set nf = fc.Add("New Folder")
End If
End Sub
Sub CallAddNewFolder()
Dim path As String
Dim folderName As String
path = "D:\"
folderName = "MyNewFolder"
AddNewFolder path, folderName
End Sub
folderName이 이미 존재하면 오류가 발생합니다.
도움말 출처
Folders collection
Office VBA reference topic
learn.microsoft.com
'Microsoft Scripting Runtime' 카테고리의 다른 글
Files 컬렉션 (0) | 2023.08.13 |
---|---|
Folder 개체 (0) | 2023.08.10 |
Drive 개체 (0) | 2023.08.10 |
Drives 컬렉션 (0) | 2023.08.09 |
FileSystemObject 개체 (0) | 2023.07.30 |