VBA 통합문서 보호하기(암호로 보호하기/ 보호 해제하기)

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 4월 29, 2023

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
vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기