다른 사용자가 잘못 수정하거나 Excel 파일을 실수로 삭제하면 많은 시간과 정보가 손상 될 수 있으므로 정기적으로 데이터를 백업해야합니다.

이 기사에서는 VBA를 사용하여 Excel 파일을 백업하는 방법을 다룹니다.

이 기사에서는 VBA 코드를 사용하여 백업을 수행하는 두 가지 방법을 다룰 것입니다. 엑셀 파일 백업을 위해 두 개의 매크로를 작성했습니다.

“SaveWorkbookBackup”매크로는 활성 통합 문서가 저장된 동일한 폴더 내에 “.bak”확장자를 가진 Excel 파일의 백업을 생성합니다.

ArrowBackUpFileCreated

“SaveWorkbookBackupToFloppy”매크로는 활성 통합 문서의 백업 파일 역할을 할 D 드라이브에 활성 통합 문서의 복사본을 만듭니다.

ArrowBackUpCopyCreated

코드 설명

If Not Ok Then MsgBox “Backup Copy Not Saved!”, vbExclamation, ThisWorkbook.Name End If 위 코드는 매크로 실행 중 런타임 오류가 발생할 때 오류 메시지를 표시하는 데 사용됩니다.

NotSaveDialogBox

If AWB.Path = “”Then ‘파일을 저장하기위한 다른 이름으로 저장 대화 상자 표시 Application.Dialogs (xlDialogSaveAs) .Show 위 코드는 파일을 백업하기 전에 파일을 저장하지 않은 경우 다른 이름으로 저장 대화 상자를 표시하는 데 사용됩니다.

SaveAs Dialog Box

아래 코드를 따르세요

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]로 문의 해주세요