본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA for 엑셀

VBA 코드를 활용한 엑셀 파일 자동 저장 및 백업 방법

by 포탈메이커 2023. 6. 27.

VBA 코드를 활용한 엑셀 파일 자동 저장 및 백업 방법

엑셀 파일은 일상 생활에서 많이 사용되는 문서 형식 중 하나입니다. 그런데, 엑셀 파일이 크거나 복잡해지면 자주 저장하는 것이 좋습니다. 하지만 수동으로 매번 저장하는 것은 번거롭기 때문에, VBA를 활용하여 자동 저장 및 백업하는 방법을 알아보겠습니다.

1. VBA 매크로 만들기

VBA를 활용하여 파일 자동 저장 및 백업하는 방법은 간단합니다. 엑셀 파일 안에서 ALT + F11 단축키를 누르면 VBA 에디터 창이 나타나게 됩니다. 이제 새로운 모듈을 만들어 아래 코드를 입력합니다.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    On Error GoTo ErrHandler
    Dim folderPath As String
    folderPath = "C:\Backup\"
    
    If Dir(folderPath, vbDirectory) = "" Then
        MkDir folderPath
    End If
    
    ThisWorkbook.SaveCopyAs folderPath & "\backup_" & Format$(Now(), "yyyy_mm_dd_hh_mm_ss") & ".xlsx"
    Exit Sub
    
ErrHandler:
    MsgBox "An error occurred." & vbCrLf & Err.Description
End Sub

위 코드는 Workbook_BeforeSave 함수를 사용하여 파일이 저장될 때마다 백업 파일을 만드는 코드입니다. 이 코드는 VBA를 사용하여 새로운 폴더를 만들고 백업 파일을 해당 폴더에 저장합니다.

저장할 폴더의 경로를 변경해야 할 경우, 코드에서 folderPath 변수의 값을 변경하면 됩니다.


2. 파일에 매크로 할당하기

이제 작성한 VBA 코드를 파일에 할당해야 합니다. 파일에서 ALT + F8 단축키를 눌러 매크로 관리자 창을 열고, 작성한 매크로를 선택합니다. 매크로를 선택한 뒤, "옵션" 버튼을 누르고, "개인용 매크로 저장 위치"를 선택합니다.

 

이제 해당 엑셀 파일을 저장할 때마다 자동으로 백업 파일이 생성됩니다. 생성된 백업 파일은 지정한 경로에 저장되기 때문에, 언제든지 백업 파일을 사용하여 이전에 저장한 파일로 복원할 수 있습니다.


3. 주의사항

백업 파일을 자동으로 생성하는 VBA 코드를 만들 때에는 코드의 안정성과 보안성에 신경쓰는 것이 중요합니다. 코드에서 발생할 수 있는 예외 상황을 충분히 생각하고 에러 처리 구문을 추가할 필요가 있습니다.

또한, 프로젝트 파일 경로를 포함하는 VBA 코드를 공유할 경우 타인이 악의적인 의도로 이 코드를 활용하여 컴퓨터에 피해를 입힐 수 있기 때문에, 코드를 공유할 때에는 신중하게 공유해야 합니다.


4. 마치며

이번 글에서는 VBA를 활용해 엑셀 파일을 자동 저장하고 백업하는 방법을 소개했습니다. 많은 엑셀 파일을 다루는 업무를 하는 분들께서는 자동 저장 및 백업 기능을 활용하여 일의 효율을 높일 수 있을 것입니다. 이번 글이 도움이 되었길 바랍니다.



포스팅이 도움이 되셨다면 구독, 공감, 댓글 부탁드려요!

행복한 하루 되세요!