VBA 통합문서 보호하기(암호로 보호하기/ 보호 해제하기)
In this Article
Excel에서는 통합 문서를 변경할 수 없도록 보호하는 기능을 사용할 수 있습니다. 이 튜토리얼에서는 VBA를 사용하여 통합 문서를 보호하거나 보호 해제하는 방법을 보여 줍니다.
VBA 통합문서 보호
VBA 통합 문서 보호를 사용하면 통합 문서의 구조를 잠글 수 있습니다. 통합 문서가 보호되면 사용자는 워크시트를 추가, 삭제, 숨기기/숨기기 해제 또는 보호/보호 해제할 수 없습니다. 모델을 작성하는 경우 통합 문서 보호를 설정하여 사용자(또는 본인)가 실수로 워크시트를 삭제하는 것을 방지하고 싶을 수 있습니다.
VBA에서 통합 문서 보호 해제하기
통합 문서의 보호를 해제하려면 다음 코드를 사용하면 됩니다:
Workbooks("Book1").Unprotect
참고: 이 코드는 통합 문서가 암호 없이 보호된 경우에만 작동합니다. 통합 문서가 암호로 보호되어 있는 경우 통합 문서의 보호를 해제하려면 암호도 입력해야 합니다:
암호로 보호된 통합문서 보호 해제하기
아래 코드는 암호로 보호된 통합 문서의 보호를 해제합니다:
Workbooks("Book1").Unprotect Password:="password"
위 코드에서 Password:=를 생략할 수도 있습니다
Workbooks("Book1").Unprotect "password"
ThisWorkbook의 통합문서 보호 해제하기
아래 코드는 ThisWorkbook의 보호를 해제합니다(ThisWorkbook는 실행 중인 코드가 저장된 통합 문서입니다. 절대 변경되지 않습니다).
ThisWorkbook.Unprotect
위 코드를 사용하거나 암호를 입력하여 보호를 해제합니다:
ThisWorkbook.Unprotect "password"
활성 통합문서 보호 해제하기
이 코드는 ActiveWorbook(활성 통합문서)의 보호를 해제합니다.
ActiveWorkbook.Unprotect
위 코드를 사용하거나 암호를 입력하여 ActiveWorkbook의 보호를 해제합니다:
ActiveWorkbook.Unprotect "password"
열려있는 모든 통합 문서 보호 해제하기
이 코드는 열려 있는 모든 통합 문서의 보호를 해제합니다:
Sub UnprotectAllOpenWorkbooks()
Dim wb As Workbook
For Each wb In Workbooks
wb.Unprotect
Next wb
End Sub
통합 문서 보호 해제하기 – 암호를 모른 채 통합 문서 보호 해제
비밀번호를 모른 채 통합 문서의 보호를 해제해야 하는 경우 도움이 되는 몇 가지 추가 기능이 있습니다. 리본 커맨더를 추천합니다.
통합 문서의 모든 시트 보호 해제하기
통합 문서의 보호를 해제하고 나면 통합 문서에 있는 모든 시트의 보호를 해제하고 싶을 수도 있습니다. 다음은 모든 시트의 보호를 해제하는 프로시저입니다:
Sub UnProtectWorkbookAndAllSheets()
Dim ws As Worksheet
ActiveWorkbook.Unprotect
For Each ws In Worksheets
ws.Unprotect
Next
End Sub
통합 문서 보호하기
통합 문서를 보호 해제하는 것과 동일한 방식으로 통합 문서를 보호할 수 있습니다.
암호 없이 통합 문서 보호하기
이 코드는 통합 문서를 보호합니다(비밀번호 없음).
Workbooks("Book1").Protect
참고: 통합 문서를 실수로 변경하는 것을 방지하기 위해 비밀번호 없이 통합 문서 보호를 적용하는 경우가 많습니다.
암호로 통합 문서 보호하기
이 코드는 통합 문서 구조를 암호로 보호합니다.
Workbooks("Book1").Protect "password"
또는 아래 코드를 사용할 수 있습니다:
Workbooks("Book1").Protect Password:="password"
Excel 파일 암호로 보호하기
통합 문서 보호 대신 전체 Excel 파일을 암호로 보호하고 싶을 수도 있습니다. VBA를 사용하여 이 작업을 수행하려면 통합 문서를 암호를 사용하여 다른 이름으로 저장합니다:
Workbooks("Book1").SaveAs "password"
통합 문서 보호하기 및 보호 해제하기 예제
보호된 통합 문서에서 모든 워크시트 숨기기 해제
이 프로시저는 통합 문서의 보호를 해제하고 모든 워크시트를 숨긴 다음 통합 문서를 다시 보호합니다.
Sub UnprotectWB_Unhide_All_Sheets()
Dim ws As Worksheet
ActiveWorkbook.Unprotect
For Each ws In Worksheets
ws.Visible = xlSheetVisible
Next
ActiveWorkbook.Protect
End Sub
통합 문서 및 모든 시트 보호하기
이 프로시저는 통합 문서의 모든 워크시트를 보호한 다음 통합 문서를 보호합니다:
Sub ProtectWB_Protect_All_Sheets()
Dim ws As Worksheet
ActiveWorkbook.Unprotect
For Each ws In Worksheets
ws.Protect
Next
ActiveWorkbook.Protect
End Sub
암호 보호도 추가할 수 있습니다:
Sub ProtectWB_Protect_All_Sheets_Pswrd()
Dim ws As Worksheet
ActiveWorkbook.Unprotect "password"
For Each ws In Worksheets
ws.Protect "password"
Next
ActiveWorkbook.Protect "password"
End Sub