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)
코드 실행 전 출력:
코드 실행 후 출력:
Source
, Destination
및 Overwrite
의 세 가지 매개 변수가 있습니다. 소스
와 대상
이 동일하므로 덮어쓰기
를 사용합니다.
true
또는 false
로 수정해야 합니다.
우리의 경우 원본 파일을 덮어쓴다는 True
로 설정합니다. 이것이 우리가 해야 할 일이지만 덮어쓰기를 False
로 수정하면 어떤 일이 발생하는지 봅시다.
이는 아래와 같이 코드를 변경해야만 수행할 수 있습니다.
Call FileSysObj.CopyFile("D:\Test\testFile.xlsx", "D:\Test\Dst\", False)
출력:
결과적으로 오류가 발생합니다. 복사하는 동안 파일 이름을 바꿀 수도 있습니다. 파일을 복사하는 것과 같습니다.
아래 코드에 표시된 대로 대상 경로를 다른 이름으로 사용자 지정하기만 하면 됩니다.
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
출력: