본문 바로가기
Microsoft Scripting Runtime

Folder 개체

2023. 8. 10.

이 글은 도움말을 번역한 글입니다.

Folder 개체

폴더의 모든 속성에 대한 액세스를 제공합니다.

 

비고
다음 코드는 Folder 개체를 가져오는 방법과 해당 속성 중 하나를 반환하는 방법을 보여 줍니다.

Sub ShowFolderInfo(folderspec)
    Dim fs, f, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderspec)
    
    s = f.DateCreated
    MsgBox s
    
End Sub

Sub CallShowFolderInfo()

    Dim folderPath As String

    folderPath = "D:\MyFolder"

    ShowFolderInfo folderPath
    
End Sub

속성


Attributes property

파일이나 폴더의 속성을 설정하거나 반환합니다. 속성에 따라 읽기/쓰기 또는 읽기 전용이 됩니다.

 

Syntax
object.Attributes [= newattributes ]

object : 필수적인 요소. 항상 File이나 Folder 개체의 이름입니다.

newattributes : 선택적인 요소. newattributes이 제공되는 경우 지정한 개체의 새로운 속성 값이 됩니다.

 

newattributes 요소의 값은 아래 값이나 그 값의 논리적 조합들 중 하나입니다.

 

아래 표는 FileAttribute 열거형 값입니다.

다음 예제는 C드라이브의 하위 폴더를 순환하면서 Attributes의 값을 출력합니다.

Sub TraverseFoldersAndPrintAttributes()
    Dim folderPath As String
    folderPath = "C:\"
    PrintFolderAttributes folderPath
End Sub

Sub PrintFolderAttributes(folderPath As String)
    Dim fso As Object
    Dim parentFolder As Object
    Dim subFolder As Object
    
    ' FileSystemObject 인스턴스 생성
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    ' 부모 폴더에 대한 참조 가져오기
    Set parentFolder = fso.GetFolder(folderPath)
    
    ' 하위 폴더 순환
    For Each subFolder In parentFolder.SubFolders
        PrintFolderInfo subFolder
    Next subFolder
    
    ' 개체 해제
    Set parentFolder = Nothing
    Set fso = Nothing
End Sub

Sub PrintFolderInfo(subFolder As Object)
    Debug.Print "폴더 이름: " & subFolder.Name
    Debug.Print "Attributes 값: " & subFolder.attributes
    Debug.Print "------------------"
End Sub

 

DateCreated property

지정한 파일이나 폴더를 만든 날짜와 시간을 반환합니다. 읽기 전용 속성입니다.

 

Syntax
object.DateCreated

 

object는 항상 File이나 Folder 개체입니다.

 

비고

다음 코드는 폴더에서 DateCreated 속성을 사용하는 방법을 보여줍니다.

Sub ShowFolderInfo(folderPath)
    Dim fs, f, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderPath)
    s = "Created: " & f.DateCreated
    MsgBox s
End Sub

Sub CallShowFolderInfo()
    Dim folderPath As String
    folderPath = "D:\download"

    ShowFolderInfo folderPath
End Sub

DateLastAccessed property

지정한 파일이나 폴더를 마지막으로 액세스한 날짜와 시간을 반환합니다. 읽기 전용 속성입니다.

 

Syntax
object.DateLastAccessed

 

object는 항상 File이나 Folder 개체입니다.

 

비고

아래 코드는 DateLastAccessed 속성을 폴더에 사용하는 방법을 보여줍니다.

Function GetFolderLastAccessedDate(folderPath As String) As Date
    Dim fso As Object
    Dim targetFolder As Object
    
    ' FileSystemObject 인스턴스 생성
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    ' 폴더 개체 가져오기
    Set targetFolder = fso.GetFolder(folderPath)
    
    ' 폴더의 마지막 접근 날짜 가져오기
    GetFolderLastAccessedDate = targetFolder.DateLastAccessed
    
    ' 개체 해제
    Set targetFolder = Nothing
    Set fso = Nothing
End Function

Sub ShowFolderLastAccessedDate(folderPath As String)
    Dim lastAccessedDate As Date
    
    ' 폴더의 마지막 접근 날짜 가져오기
    lastAccessedDate = GetFolderLastAccessedDate(folderPath)
    
    ' 마지막 접근 날짜 출력
    MsgBox "폴더의 마지막 접근 날짜: " & lastAccessedDate
End Sub

Sub CallShowFolderLastAccessedDate()
    Dim folderPath As String
    folderPath = "D:\download" ' 원하는 폴더 경로로 변경
    
    ' 폴더의 마지막 접근 날짜 출력 서브루틴 호출
    ShowFolderLastAccessedDate folderPath
End Sub


DateLastModified property

지정한 파일이나 폴더를 마지막으로 수정한 날짜와 시간을 반환합니다. 읽기 전용 속성입니다.

 

Syntax
object.DateLastModified

 

object는 항상 File이나 Folder 개체입니다.

 

비고

아래 코드는 DateLastModified 속성을 폴더에 사용하는 방법을 보여줍니다.

Function GetFolderLastModifiedDate(ByRef fso As Object, folderPath As String) As Date
    Dim targetFolder As Object
    
    ' 폴더 개체 가져오기
    Set targetFolder = fso.GetFolder(folderPath)
    
    ' 폴더의 마지막 수정 날짜 반환
    GetFolderLastModifiedDate = targetFolder.DateLastModified
End Function

Sub ShowFolderLastModifiedDate(folderPath As String)
    Dim lastModifiedDate As Date
    Dim fso As Object
    
    ' FileSystemObject 인스턴스 생성
    Set fso = CreateObject("Scripting.FileSystemObject")

    ' 폴더의 마지막 수정 날짜 가져오기
    lastModifiedDate = GetFolderLastModifiedDate(fso, folderPath)

    ' 마지막 수정 날짜 출력
    MsgBox "폴더의 마지막 수정 날짜: " & lastModifiedDate
End Sub

Sub CallShowFolderLastModifiedDate()
    Dim folderPath As String
    folderPath = "D:\download"

    ' 폴더의 마지막 수정 날짜 출력
    ShowFolderLastModifiedDate folderPath
End Sub

Drive property

지정한 파일이나 폴더가 상주하는 드라이브의 드라이브 문자를 반환합니다. 읽기 전용 속성입니다.

 

Syntax
object.Drive

 

object는 항상 File이나 Folder 개체입니다.

 

비고

 

아래 코드는 Drive 속성의 사용법을 보여줍니다.

Function ShowFolderAccessInfo(folderPath As String) As String
    Dim fso As Object
    Dim folder As Object
    Dim s As String
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(folderPath)
    
    s = folder.name & " on Drive " & UCase(folder.Drive) & vbCrLf
    s = s & "만든 날짜: " & folder.DateCreated & vbCrLf
    s = s & "마지막으로 액세스한 날짜: " & folder.DateLastAccessed & vbCrLf
    s = s & "마지막으로 수정한 날짜: " & folder.DateLastModified
    
    ShowFolderAccessInfo = s
End Function

Sub CallShowFolderAccessInfo()
    Dim folderPath As String
    Dim folderInfo As String
    
    folderPath = "D:\download" ' 대상 폴더 경로
    
    ' 폴더 접근 정보 가져오기
    folderInfo = ShowFolderAccessInfo(folderPath)
    
    ' 폴더 접근 정보 출력
    MsgBox folderInfo, vbInformation, "폴더 접근 정보"
End Sub

Files property

숨겨진 파일 속성과 시스템 파일 속성으로 지정된 개체를 포함하여 지정한 폴더의 모든 File 개체들로 구성된 Files 컬렉션을 반환합니다.

 

Syntax
object.Files

 

object는 항상 Folder 개체입니다.

 

비고

 

아래 코드는 Files 속성의 사용법을 보여줍니다.

Function GetFileInfo(file As Object) As String
    Dim fileInfo As String
    fileInfo = "파일 이름: " & file.name & vbCrLf
    fileInfo = fileInfo & "파일 크기: " & FormatNumber(file.Size / 1024, 2) & " KB" & vbCrLf
    fileInfo = fileInfo & "마지막 수정 날짜: " & file.DateLastModified & vbCrLf
    GetFileInfo = fileInfo
End Function

Sub ListFilesInFolder(folderPath As String)
    Dim fso As Object
    Dim folder As Object
    Dim filesCollection As Object
    Dim file As Object
    Dim fileInfo As String
    
    ' FileSystemObject 인스턴스 생성
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    ' 폴더 개체 가져오기
    Set folder = fso.GetFolder(folderPath)
    
    ' 파일 컬렉션 가져오기
    Set filesCollection = folder.Files
    
    ' 각 파일 정보 출력
    For Each file In filesCollection
        fileInfo = GetFileInfo(file)
        MsgBox fileInfo, vbInformation, "파일 정보"
    Next file
    
    ' 개체 해제
    Set filesCollection = Nothing
    Set folder = Nothing
    Set fso = Nothing
End Sub

Sub CallListFilesInFolder()
    Dim folderPath As String
    folderPath = "D:\download" ' 대상 폴더 경로
    
    ' 폴더 내 파일 정보 출력
    ListFilesInFolder folderPath
End Sub

IsRootFolder property

지정한 폴더가 루트 폴더이면 True를, 그렇지 않으면 False를 반환합니다.

 

Syntax
object.IsRootFolder

 

object는 항상 Folder 개체입니다.

 

비고

아래 코드는 IsRootFolder 속성의 사용법을 보여줍니다.

Sub CheckIfRootFolder(folderPath As String)
    Dim fso As Object
    Dim folder As Object

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(folderPath)

    If folder.IsRootFolder Then
        MsgBox folderPath & " 는 루트 폴더입니다.", vbInformation, "루트 폴더 확인"
    Else
        MsgBox folderPath & " 는 루트 폴더가 아닙니다.", vbInformation, "루트 폴더 확인"
    End If

    Set folder = Nothing
    Set fso = Nothing
End Sub

Sub TestCheckIfRootFolder()
    Dim folderPath As String
    folderPath = "D:\" ' 확인하려는 폴더 경로
    
    CheckIfRootFolder folderPath
End Sub

다음 코드는 지정된 폴더의 중첩 레벨을 확인합니다.

Function DisplayLevelDepth(pathspec)
    Dim fso, f, n
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFolder(pathspec)
    If f.IsRootFolder Then
        DisplayLevelDepth = "지정한 폴더는 루트 폴더입니다."
    Else
        Do Until f.IsRootFolder
            Set f = f.ParentFolder
            n = n + 1
        Loop
        DisplayLevelDepth = "지정한 폴더는 " & n & " 개 수준으로 중첩되어 있습니다."
    End If
End Function

Sub TestDisplayLevelDepth()
    Dim folderPath As String
    Dim result As String
    
    folderPath = "D:\Download" ' 확인하려는 폴더 경로
    
    ' 함수 호출
    result = DisplayLevelDepth(folderPath)
    
    ' 결과 출력
    MsgBox result, vbInformation, "폴더 레벨 확인"
End Sub

Name property

지정한 파일이나 폴더의 이름을 지정하거나 반환합니다. 읽기/쓰기 속성입니다.

 

Syntax
object.Name [ = newname ]

 

object : 필수적인 요소. 항상 File이나 Folder 개체의 이름입니다.

newname : 선택적인 요소. newname이 제공되는 경우 이는 지정한 개체의 새 이름이 됩니다 .

 

비고

다음 코드는 폴더와 함께 Name 속성을 사용하는 예시를 보여줍니다.

Sub ShowFolderAccessInfo(folderPath)
    Dim fs, f, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderPath)
    s = "폴더 이름: " & f.name & vbCrLf
    s = s & "경로: " & f.Path & vbCrLf
    s = s & "마지막으로 액세스한 날짜: " & f.DateLastAccessed & vbCrLf
    s = s & "마지막으로 수정한 날짜: " & f.DateLastModified
    MsgBox s, 0, "폴더 액세스 정보"
End Sub

Sub CallShowFolderAccessInfo()
    Dim folderPath As String
    folderPath = "D:\download"

    ShowFolderAccessInfo folderPath
End Sub

ParentFolder property

지정한 파일이나 폴더의 부모 폴더 개체를 반환합니다. 읽기 전용 속성입니다.

 

Syntax
object.ParentFolder

 

object는 항상 File이나 Folder 개체입니다.

 

비고

다음 코드는 폴더와 함께 ParentFolder 속성을 사용하는 예시를 보여줍니다.

Sub ShowFolderAccessInfo(folderPath)
    Dim fs, f, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderPath)
    s = UCase(f.name) & " Folder Location: " & UCase(f.ParentFolder) & vbCrLf
    s = s & "Created: " & f.DateCreated & vbCrLf
    s = s & "Last Accessed: " & f.DateLastAccessed & vbCrLf
    s = s & "Last Modified: " & f.DateLastModified
    MsgBox s, 0, "Folder Access Info"
End Sub

Sub CallShowFolderAccessInfo()
    Dim folderPath As String
    folderPath = "D:\download"

    ShowFolderAccessInfo folderPath
End Sub

Path property

지정한 파일, 폴더 또는 드라이브의 경로를 반환합니다.

 

Syntax
object.Path

 

object는 항상 File, Folder 또는 Drive 개체입니다.

 

비고

드라이브 문자의 경우 루트 드라이브는 포함되지 않습니다. 예를 들어 C 드라이브의 경로는 C:\가 아니라 C: 입니다.
파일의 경우 Path 속성에는 파일 이름과 확장명이 포함됩니다.
다음 코드는 Folder 개체와 함께 Path 속성을 사용하는 방법을 보여줍니다.

Sub ShowFolderAccessInfo(folderPath)
    Dim fs, f, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderPath)
    s = UCase(f.Path) & vbCrLf
    s = s & "Created: " & f.DateCreated & vbCrLf
    s = s & "Last Accessed: " & f.DateLastAccessed & vbCrLf
    s = s & "Last Modified: " & f.DateLastModified
    MsgBox s, 0, "Folder Access Info"
End Sub

Sub CallShowFolderAccessInfo()
    Dim folderPath As String
    folderPath = "D:\download"

    ShowFolderAccessInfo folderPath
End Sub

ShortName property

이전 8.3 명명 규칙을 요구하는 프로그램에서 사용하는 짧은 이름을 반환합니다.

 

Syntax
object.ShortName

 

object는 항상 File이나 Folder 개체입니다.

 

비고
아래 코드는 Folder 개체에 의한 ShortName 속성의 사용법을 보여줍니다.

Sub ShowFolderShortName(folderPath As String)
    Dim fs As Object, f As Object, s As String
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderPath)
    s = "The short name for folder " & "" & UCase(f.name)
    s = s & "" & vbCrLf
    s = s & "is: " & "" & f.ShortName & ""
    MsgBox s, vbInformation, "Short Name Info"
End Sub

Sub CallShowFolderShortName()
    Dim folderPath As String
    folderPath = "D:\download\TestFolder"

    ShowFolderShortName folderPath
End Sub

* 8.3 파일 이름(ShortName)이 비활성화되어 있으면 작동하지 않습니다.

ShortPath property

이전 8.3 파일 명명 규칙을 요구하는 프로그램에서 사용하는 짧은 경로를 반환합니다.

 

Syntax
object.ShortPath

 

object는 항상 File이나 Folder 개체입니다.

 

비고

아래 코드는 Folder 개체에 의한 ShortPath 속성의 사용법을 보여줍니다.

Function SelectFolder() As String
    Dim selectedFolderPath As String
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Select a folder:"
        .AllowMultiSelect = False
        If .Show = -1 Then
            selectedFolderPath = .SelectedItems(1)
        Else
        End If
    End With

    SelectFolder = selectedFolderPath
End Function

Sub ShowShortPathForFolder(folderPath As String)
    Dim fs As Object
    Set fs = CreateObject("Scripting.FileSystemObject")
    Dim folder As Object
    Set folder = fs.GetFolder(folderPath)
    
    Dim s As String
    s = "The short path for the selected folder" & vbCrLf
    s = s & "is: " & folder.ShortPath
    
    MsgBox s, vbInformation, "Short Path Info"
End Sub

Sub ShowShortPathForSelectedFolder()
    Dim selectedFolderPath As String
    selectedFolderPath = SelectFolder()
    
    If selectedFolderPath <> "" Then
        ShowShortPathForFolder selectedFolderPath
    Else
        MsgBox "No folder selected.", vbExclamation, "Error"
    End If
End Sub

* 8.3 파일 이름(ShortName)이 비활성화되어 있으면 작동하지 않습니다.

Size property

파일인 경우 지정한 파일 크기를 바이트 단위로 반환하고, 폴더인 경우 해당 폴더의 모든 파일과 하위 폴더의 크기를 바이트 단위로 반환합니다.

 

Syntax
object.Size

object는 항상 File이나 Folder 개체입니다.

 

다음 코드는 Folder 개체와 함께 Size 속성을 사용하는 방법을 보여줍니다.

Function SelectFolder() As String

    Dim selectedFolderPath As String
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Select a folder:"
        .AllowMultiSelect = False
        If .Show = -1 Then
            selectedFolderPath = .SelectedItems(1)
        Else
        End If
    End With

    SelectFolder = selectedFolderPath
End Function

Sub ShowFolderSizeInfo(folderPath As String)
    Dim fs As Object
    Dim folder As Object
    Dim s As String
    
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set folder = fs.GetFolder(folderPath)
    
    s = UCase(folder.name) & " uses " & folder.Size & " bytes."
    
    MsgBox s, vbInformation, "Folder Size Info"
End Sub

Sub CallShowFolderSize()
    Dim selectedFolderPath As String
    selectedFolderPath = SelectFolder()
    
    If selectedFolderPath <> "" Then
        ShowFolderSizeInfo selectedFolderPath
    Else
        MsgBox "No folder selected.", vbExclamation, "Error"
    End If
End Sub

SubFolders property

숨겨진 파일 속성과 시스템 파일 속성으로 지정된 폴더를 포함하여 지정한 폴더의 모든 폴더 개체들로 구성된 Folders 컬렉션을 반환합니다.

 

Syntax
object.SubFolders

 

object는 항상 Folder 개체입니다.

 

비고

다음 코드는 SubFolders 속성의 사용법을 보여줍니다.

Function SelectFolder() As String

    Dim selectedFolderPath As String
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Select a folder:"
        .AllowMultiSelect = False
        If .Show = -1 Then
            selectedFolderPath = .SelectedItems(1)
        End If
    End With
    
    SelectFolder = selectedFolderPath
End Function

Sub ShowFoldersInSelectedFolder(folderPath As String)
    Dim fs As Object
    Dim f As Object
    Dim f1 As Object
    Dim sf As Object
    Dim s As String
    
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderPath)
    Set sf = f.SubFolders
    
    For Each f1 In sf
        s = s & f1.name
        s = s & vbCrLf
    Next f1
    
    MsgBox s
End Sub
Sub CallShowFolderList()
    Dim selectedFolderPath As String
    selectedFolderPath = SelectFolder()
    
    If selectedFolderPath <> "" Then
        ShowFoldersInSelectedFolder selectedFolderPath
    Else
        MsgBox "No folder selected.", vbExclamation, "Error"
    End If
End Sub

Type property

파일이나 폴더의 형식에 관한 정보를 반환합니다. 예를 들어 .TXT로 끝나는 파일인 경우 "텍스트 문서"를 반환합니다.

 

Syntax
object.Type

object는 항상 File이나 Folder 개체입니다.

 

비고

다음 코드는 Type 속성을 사용하여 폴더 유형을 반환하는 방법을 보여줍니다.

Sub ShowFileType(folderPath)
    Dim fs, f, fileTypeMsg
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderPath)
    fileTypeMsg = UCase(f.name) & " is a " & f.Type
    MsgBox fileTypeMsg, 0, "File Type Info"
End Sub

Sub Main()
    Dim folderPath As String
    
    ' 폴더 경로 지정
    folderPath = "D:\download"
    
    ' 파일 타입 정보 출력
    ShowFileType folderPath
End Sub

메서드

Copy method

지정한 파일이나 폴더를 한 위치에서 다른 위치로 복사합니다.

 

Syntax
object.Copy destination, [ overwrite ]

 

object : 필수적인 요소. 항상 File이나 Folder 개체의 이름입니다.
destination : 필수적인 요소. 파일이나 폴더를 복사해 놓을 대상 위치를 나타내는 문자열입니다. 와일드카드 문자는 사용할 수 없습니다.
overwrite : 선택적인 요소. 기존 파일이나 폴더에 덮어 쓰면 True(기본값), 그렇지 않으면 False인 Boolean 값입니다.

 

비고

File이나 Folder 개체에 대한 Copy 메서드의 결과는 object에서 참조하는 파일이나 폴더를 인수로 전달하는 FileSystemObject.CopyFile이나 FileSystemObject.CopyFolder를 사용하여 수행되는 동작과 일치합니다. 그러나 다른 메서드로도 여러 파일이나 폴더를 복사할 수 있습니다.

 

다음 코드는 Copy 메서드 사용법을 보여줍니다.

Sub CreateFoldersAndFiles(sourcePath As String, destPath As String)
    Dim fso As Object
    Dim sourceFolder As Object
    Dim destinationFolder As Object
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set sourceFolder = fso.GetFolder(sourcePath)
    Set destinationFolder = fso.GetFolder(destPath)
    
    ' 소스 폴더의 내용을 대상 폴더로 복사합니다.
    sourceFolder.Copy destinationFolder.Path, True
    
    ' 개체 정리 및 해제
    Set sourceFolder = Nothing
    Set destinationFolder = Nothing
    Set fso = Nothing
End Sub

Sub Main()
    Dim sourcePath As String
    Dim destPath As String
    
    ' 소스 폴더 경로와 대상 폴더 경로를 지정합니다.
    sourcePath = "C:\SourceFolder"
    destPath = "C:\DestinationFolder"
    
    ' 폴더 및 파일 생성 및 복사 기능을 호출합니다.
    CreateFoldersAndFiles sourcePath, destPath
    
    MsgBox "폴더 내용이 성공적으로 복사되었습니다.", vbInformation, "폴더 복사 예제"
End Sub

CreateTextFile method

지정한 파일 이름을 만들고, 그 파일을 읽거나 쓰는 데 사용될 수 있는 TextStream 개체를 반환합니다.

 

Syntax
object.CreateTextFile (filename, [ overwrite, [ unicode ]])

 

object : 필수적인 요소. 항상 FileSystemObject 또는 Folder 개체의 이름입니다.

filename : 필수적인 요소. 만들 파일을 식별하는 문자식입니다.

overwrite : 선택적인 요소. 기존 파일을 덮어 쓸지 여부를 나타내는 부울값입니다. True인 경우 파일을 덮어 쓰고 False인 경우 덮어 쓰지 않습니다. 생략하면 기존 파일을 덮어 쓰지 않습니다.

unicode : 선택적인 요소. Unicode 파일을 만들지 또는 ASCII 파일을 만들지 여부를 나타내는 Boolean 값입니다. True인 경우 Unicode 파일을 만들고 False인 경우 ASCII 파일을 만듭니다. 생략하면 ASCII 파일로 간주됩니다.

 

비고

아래 코드에서는 CreateTextFile 메서드를 사용하여 텍스트 파일을 만들고 여는 방법을 보여줍니다.

Sub CreateTextFileInFolder(folderPath As String, fileName As String, fileContent As String)
    Dim fso As Object
    Dim targetFolder As Object
    Dim textFile As Object
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set targetFolder = fso.GetFolder(folderPath)
    
    ' 텍스트 파일 생성
    Set textFile = targetFolder.CreateTextFile(fileName, True)
    textFile.Write fileContent
    textFile.Close
    
    ' 개체 정리 및 해제
    Set textFile = Nothing
    Set targetFolder = Nothing
    Set fso = Nothing
End Sub

Sub Main()
    Dim folderPath As String
    Dim fileName As String
    Dim fileContent As String
    
    ' 폴더 경로, 파일 이름 및 파일 내용을 지정합니다.
    folderPath = "D:\download"
    fileName = "SampleFile.txt"
    fileContent = "Hello, this is the content of the text file."
    
    ' 텍스트 파일 생성 기능을 호출합니다.
    CreateTextFileInFolder folderPath, fileName, fileContent
    
    MsgBox "텍스트 파일이 성공적으로 생성되었습니다.", vbInformation, "텍스트 파일 생성 예제"
End Sub

Delete method

지정한 파일이나 폴더를 삭제합니다.

 

object.Delete force

 

object : 필수적인 요소. 항상 File이나 Folder 개체의 이름입니다.

force : 선택적인 요소. 읽기 전용 속성의 파일이나 폴더를 삭제할 경우 True, 그렇지 않으면 False(기본값)인 Boolean 값입니다.

 

비고

지정한 파일이나 폴더가 존재하지 않으면 오류가 일어납니다. Delete 메서드에서는 폴더의 내용 유무를 구분하지 않습니다. 따라서 지정한 폴더는 그 내용의 유무에 상관없이 삭제됩니다.

 

File이나 Folder 개체에 대한 Delete 메서드의 결과는 FileSystemObject.DeleteFile이나FileSystemObject.DeleteFolder를 사용하여 수행되는 동작과 일치합니다.

 

아래 예제는 Delete 메서드 사용법을 보여줍니다.

Sub DeleteFolder(folderPath As String)
    Dim fso As Object
    Dim targetFolder As Object
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set targetFolder = fso.GetFolder(folderPath)
    
    ' 폴더 삭제
    targetFolder.Delete
    
    ' 개체 정리 및 해제
    Set targetFolder = Nothing
    Set fso = Nothing
End Sub

Sub Main()
    Dim folderPath As String
    
    ' 삭제할 폴더 경로를 지정합니다.
    folderPath = "C:\DeleteThisFolder"
    
    ' 폴더 삭제 기능을 호출합니다.
    DeleteFolder folderPath
    
    MsgBox "폴더가 성공적으로 삭제되었습니다.", vbInformation, "폴더 삭제 예제"
End Sub

Move method

지정한 파일이나 폴더를 한 위치에서 다른 위치로 옮깁니다.

 

Syntax

object.Move destination

 

object : 필수적인 요소. 항상 File이나 Folder 개체의 이름입니다.

destination : 필수적인 요소. 파일이나 폴더를 옮겨 놓을 대상 위치를 나타내는 문자열입니다. 와일드카드 문자는 사용할 수 없습니다.

 

비고

File이나 Folder 개체에 대한 Move 메서드의 결과는 FileSystemObject.MoveFile이나 FileSystemObject.MoveFolder를 사용하여 수행되는 동작과 일치합니다. 그러나 다른 메서드로도 여러 파일이나 폴더를 옮길 수 있습니다.

아래 예제는 Move 메서드의 사용법을 보여줍니다.

Sub MoveFolder(sourcePath As String, destPath As String)
    Dim fso As Object
    Dim sourceFolder As Object
    Dim destinationFolder As Object
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set sourceFolder = fso.GetFolder(sourcePath)
    Set destinationFolder = fso.GetFolder(destPath)
    
    ' 폴더 이동
    sourceFolder.Move destinationFolder.Path & "\" & sourceFolder.name
    
    ' 개체 정리 및 해제
    Set sourceFolder = Nothing
    Set destinationFolder = Nothing
    Set fso = Nothing
End Sub

Sub Main()
    Dim sourcePath As String
    Dim destPath As String
    
    ' 이동할 폴더 경로와 대상 폴더 경로를 지정합니다.
    sourcePath = "C:\MoveThisFolder"
    destPath = "D:\DestinationFolder"
    
    ' 폴더 이동 기능을 호출합니다.
    MoveFolder sourcePath, destPath
    
    MsgBox "폴더가 성공적으로 이동되었습니다.", vbInformation, "폴더 이동 예제"
End Sub

 

'Microsoft Scripting Runtime' 카테고리의 다른 글

File 개체  (0) 2023.08.13
Files 컬렉션  (0) 2023.08.13
Folders 컬렉션  (0) 2023.08.10
Drive 개체  (0) 2023.08.10
Drives 컬렉션  (0) 2023.08.09