일반적으로 VBA를 사용하여 파일을 복사하려면 FileCopy 문으로 복사할 수 있는데
원본파일이 열려있는 상태(사용중)이라면 권한이 없다는 오류가 나타나고 해당
파일을 복사할 수 없게 됩니다.
이러한 경우 해당 파일을 닫고 복사를 하여야 하는데 문서를 닫지않고 복사할 수 있도록
API를 사용하면 복사가 가능합니다.
Option Explicit
'
' 파일 복사를 위한 API 함수를 선언
'
Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Sub Copy_Opened_File()
Dim sName As String
Dim tName As String
Dim bFailIfExists As Long
sName = "복사할 원본파일의 이름을 입력합니다."
tName = "복사될 대상파일의 이름을 입력합니다."
CopyFile sName, tName, 0
End Sub
다음검색