Microsoft Excel에서 VBA를 사용하여 통합 문서 백업을 저장
다른 사용자가 잘못 수정하거나 Excel 파일을 실수로 삭제하면 많은 시간과 정보가 손상 될 수 있으므로 정기적으로 데이터를 백업해야합니다.
이 기사에서는 VBA를 사용하여 Excel 파일을 백업하는 방법을 다룹니다.
이 기사에서는 VBA 코드를 사용하여 백업을 수행하는 두 가지 방법을 다룰 것입니다. 엑셀 파일 백업을 위해 두 개의 매크로를 작성했습니다.
“SaveWorkbookBackup”매크로는 활성 통합 문서가 저장된 동일한 폴더 내에 “.bak”확장자를 가진 Excel 파일의 백업을 생성합니다.
“SaveWorkbookBackupToFloppy”매크로는 활성 통합 문서의 백업 파일 역할을 할 D 드라이브에 활성 통합 문서의 복사본을 만듭니다.
코드 설명
If Not Ok Then MsgBox “Backup Copy Not Saved!”, vbExclamation, ThisWorkbook.Name End If 위 코드는 매크로 실행 중 런타임 오류가 발생할 때 오류 메시지를 표시하는 데 사용됩니다.
If AWB.Path = “”Then ‘파일을 저장하기위한 다른 이름으로 저장 대화 상자 표시 Application.Dialogs (xlDialogSaveAs) .Show 위 코드는 파일을 백업하기 전에 파일을 저장하지 않은 경우 다른 이름으로 저장 대화 상자를 표시하는 데 사용됩니다.
아래 코드를 따르세요
Option Explicit Sub SaveWorkbookBackup() Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean On Error GoTo NotAbleToSave Set AWB = ActiveWorkbook 'Assign full path of file along file name to variable BackupFileName BackupFileName = AWB.FullName 'Checking whether file is saved 'If file is not saved then saving the file If AWB.Path = "" Then 'Displaying Save as dialog box for file saving Application.Dialogs(xlDialogSaveAs).Show Else 'Removing file extension from file name i = 0 While InStr(i + 1, BackupFileName, ".") > 0 'Find the extension of file i = InStr(i + 1, BackupFileName, ".") Wend If i > 0 Then BackupFileName = Left(BackupFileName, i - 1) 'Adding back up extension ".bak" with file name BackupFileName = BackupFileName & ".bak" Ok = False With AWB .Save 'Creating Backup of file .SaveCopyAs BackupFileName Ok = True End With End If NotAbleToSave: 'Code for error handling Set AWB = Nothing If Not Ok Then MsgBox "Backup Copy Not Saved!", vbExclamation, ThisWorkbook.Name End If End Sub Sub SaveWorkbookBackupToFloppy() Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean Dim DriveName As String On Error GoTo NotAbleToSave 'Specify the path for making back up in D drive DriveName = "D:\" 'Initializing the variables Set AWB = ActiveWorkbook BackupFileName = AWB.Name Ok = False 'Checking whether file is saved 'If file is not saved then saving the file If AWB.Path = "" Then 'Displaying Save as dialog box for file saving Application.Dialogs(xlDialogSaveAs).Show Else 'Deleting file if backup file already exists If Dir(DriveName & BackupFileName) <> "" Then Kill DriveName & BackupFileName End If With AWB .Save 'Creating the back up file .SaveCopyAs DriveName & BackupFileName Ok = True End With End If NotAbleToSave: 'Code for error handling Set AWB = Nothing If Not Ok Then MsgBox "Backup Copy Not Saved!", vbExclamation, ThisWorkbook.Name End If End Sub
이 블로그가 마음에 들면 Facebook 및 Facebook에서 친구들과 공유하십시오.
여러분의 의견을 듣고 싶습니다. 작업을 개선하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]로 문의 해주세요