VBA FileSystemObject(MoveFile)를 사용하여 파일 이동하기

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 5월 5, 2023

이 튜토리얼에서는 FileSystemObject의 MoveFile 메서드를 사용하는 방법을 보여 줍니다.

VBA FileSystemObject로 파일 이동하기

MoveFile 메서드는 하나 이상의 파일을 한 위치에서 다른 위치로 이동합니다.

VBA 참조 설정하기

먼저 FileSystemObject를 사용할 때 VB 스크립트 런타임 라이브러리에 대한 참조를 설정해야 할 수 있습니다. Visual Basic Editor(ALT + F11)를 열고 드롭다운 메뉴에서 도구 > 참조를 선택한 후 ‘Microsoft Scripting Runtime’의 체크박스를 선택합니다.

FileSystemObject

다음으로, FileSystemObject를 생성해야 합니다:

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject") 

이제 MoveFile을 포함한다른 FileSystemObject 메서드에 액세스할 수 있습니다.

파일 한개 이동하기

단일 파일을 이동하려면 FSO.MoveFile( 원본, 대상 )의 간단한 구문을 사용할 수 있습니다.

FSO.MoveFile "C:\Src\TestFile.txt", "C:\Dst\ModTestFile.txt"

위에서 언급했듯이 먼저 파일시스템 오브젝트를 생성해야 합니다:

Sub FSOMoveFile()
    Dim FSO As New FileSystemObject
    Set FSO = CreateObject("Scripting.FileSystemObject") 

    FSO.MoveFile "C:\Src\TestFile.txt", "C:\Dst\ModTestFile.txt"

End Sub

여러 파일 이동하기

파일 이름의 일부가 같은 여러 파일을 이동할 수 있습니다:

FSO.MoveFile "C:\Src\TestFile*.txt", "C:\Dst\"

또는 확장자가 같은 여러 파일을 이동할 수 있습니다:

FSO.MoveFile "C:\Src\ *.xlsx", "C:\Dst\"

또는 단순히 폴더의 모든 파일을 이동할 수도 있습니다:

FSO.MoveFile "C:\Src\*", "C:\Dst\"

여기서는 * 와일드카드 문자를 사용했습니다.

와일드카드 문자를 사용하는 대신 For Each 반복문을 사용하여 폴더의 모든 파일을 이동할 수도 있습니다.

Sub FSOMoveAllFiles ()
    Dim FSO As New FileSystemObject 
    Dim FromPath As String
    Dim ToPath As String
    Dim FileInFromFolder As Object

    FromPath = "C:\Src\"   
    ToPath = "C:\Dst\"  
   
    Set FSO = CreateObject("Scripting.FileSystemObject")

    For Each FileInFromFolder In FSO.GetFolder(FromPath).Files
    	FileInFromFolder.Move ToPath
    Next FileInFromFolder

End Sub

새 폴더로 파일 이동하기

파일을 새로 만든 폴더로 옮길 수도 있습니다. 이렇게 하려면 다음 명령을 추가하세요.

MkDir "C:\Dst\"

명령을 추가한 후 대상 경로로 선언합니다.

Sub FSOMoveAllFiles ()
    Dim FSO As New FileSystemObject 
    Dim FromPath As String
    Dim ToPath As String
    Dim FileInFromFolder As Object

    FromPath = "C:\Src\"  
    MkDir "C:\Dst\"
    ToPath = "C:\Dst\" 
    
    Set FSO = CreateObject("Scripting.FileSystemObject")

    For Each FileInFromFolder In FSO.GetFolder(FromPath).Files
    	FileInFromFolder.Move ToPath
    Next FileInFromFolder

End Sub

폴더 이동하기

MoveFolder 메서드를 사용하여 폴더를 이동할 수 있습니다.

Sub FSOMoveFolder()
    Dim FSO As New FileSystemObject
    Set FSO = CreateObject("Scripting.FileSystemObject") 

    FSO.MoveFolder "C:\OldFolder", "C:\Dst\NewFolder"

End Sub

 

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기