VBA에서 파일 복사

Iqra Hasnain 2024년2월15일
VBA에서 파일 복사

예제와 함께 VBA를 사용하여 파일을 복사하는 방법을 소개합니다.

VBA에서 파일 복사

파일 복사는 한 위치에서 원하는 위치로 파일을 복사할 수 있는 VBA 기능입니다. 이 기능은 사용하기 매우 쉽습니다.

현재 파일 경로와 대상 파일 경로를 표시해야 합니다.

구문은 아래와 같습니다.

# vba
FileSysObj.CopyFile src, dst, [ overwrite ]

src는 공급자입니다. 소스에서 파일을 복사할 수 있습니다.

파일을 복사하려는 지점입니다. 완전히 적합한 폴더 경로를 선언해야 합니다.

dst는 대상 폴더입니다. 복사한 파일을 이 폴더에 붙여넣겠습니다. 덮어쓰기는 선택 사항입니다.

예를 들어 폴더에서 파일 이름 testFile을 복사해 보겠습니다. 이 함수의 코드는 다음과 같습니다.

Sub TestFile()

Dim FileSysObj As Object

Set FileSysObj = CreateObject("Scripting.FileSystemObject")

Call FileSysObj.CopyFile("D:\Test\testFile.xlsx", "D:\Test\Dst\", True)

End Sub

FileSystemObject 클래스의 개체가 필요합니다. 아래와 같이 클래스의 객체를 구성해 봅시다.

Set FileSysObj = CreateObject("Scripting.FileSystemObject")

이제 아래와 같이 CopyFile 방법을 적용합니다.

Call FileSysObj.CopyFile("D:\Test\testFile.xlsx", "D:\Test\Dst\", True)

코드 실행 전 출력:

vba 첫 번째 예에서 파일 복사

코드 실행 후 출력:

코드 실행 후 vba 첫 번째 예제에서 파일 복사

Source, DestinationOverwrite의 세 가지 매개 변수가 있습니다. 소스대상이 동일하므로 덮어쓰기를 사용합니다.

true 또는 false로 수정해야 합니다.

우리의 경우 원본 파일을 덮어쓴다는 True로 설정합니다. 이것이 우리가 해야 할 일이지만 덮어쓰기를 False로 수정하면 어떤 일이 발생하는지 봅시다.

이는 아래와 같이 코드를 변경해야만 수행할 수 있습니다.

Call FileSysObj.CopyFile("D:\Test\testFile.xlsx", "D:\Test\Dst\", False)

출력:

덮어쓰기를 false로 하여 vba에서 파일 복사

결과적으로 오류가 발생합니다. 복사하는 동안 파일 이름을 바꿀 수도 있습니다. 파일을 복사하는 것과 같습니다.

아래 코드에 표시된 대로 대상 경로를 다른 이름으로 사용자 지정하기만 하면 됩니다.

Sub TestFile()
Dim FileSysObj As Object

Set FileSysObj = CreateObject("Scripting.FileSystemObject")

Call FileSysObj.CopyFile("D:\Test\testFile.xlsx", "D:\Test\Dst\testFile2.xlsx", True)
End Sub

출력:

변경 이름으로 vba에서 파일 복사

관련 문장 - VBA File