엑셀 시트보호 암호 없이 해제 하는방법
IT,PC,모바일,스마트폰 정보와 팁 그리고 제품리뷰와 생활정보
엑셀 시트보호 암호 없이 해제 하는방법
인터넷에서 받은 엑셀 양식 이나, 회사에서 사용하는 양식 중에서는 편집이 불가능 하도록 엑셀 시트보호를 적용해 놓는 경우가 간혹 있습니다. 이때 해당 시트를 편집 하기 위해서는 최초에 엑셀 시트보호할때 입력해 놓은 암호가 필요 합니다. 하지만 간단한 방법으로 시간을 조금 투자하면 쉽게 시트보호를 해제 할수가 있습니다. 방법은 간단한데요. 암호를 하나씩 대입해보면서 푸는 방법입니다. 물론 이걸 일일이 손으로 하나씩 입력 하기란 쉽지 않기 때문에 VBA 를 이용해서 자동으로 입력 해서 찾도록 하는건데요.
일단 제가 테스트한 조건은 오피스365 버전 입니다. 최신 버전이라고 생각 하면 될거 같네요. 그리고 상단 이미지처럼 엑실 시트 보호를 적용을 합니다. 암호는 상당히 길지만 간단하게 테스트를 하기 위해서 쉽게 설정을 해놓았습니다.
시트보호를 적용을 해놓으면 아래와 같이 시트를 편집 하려고 하면 "변경하려는 셀 또는 차트가 보호된 시트에 있습니다. 변경하려면 시트의 보호를 해제하세요. 암호를 입력해야 할 수도 있습니다." 라고 나오면서 더이상 편집을 할수가 없습니다. 이상태에서 암호를 모른다고 가정하고 시트보호를 해제 하도록 하겠습니다. 시트 보호 해제를 하기 위해서는 매크로 작성을 해야 하는데요.
매크로 작성을 위해서는 Alt + F11 키를 누르시면 아래와 같이 "Microsoft Visual Basic for Applications" 라고 창이 하나가 뜨게 됩니다. 이때 왼쪽 탭에 보시면 Sheet1(Sheet1) 이라고 보이시는 부분을 더블 클릭 하시면 오른쪽에 텍스트를 입력 할수 있는 창이 열리게 됩니다. 이곳에 시트암호 해제하는 VBA 코드를 넣으시면 됩니다.
코드는 첨부된 텍스트파일을 여신후에 긁어서 붙여 넣기 하시면 되고 아래와 같은 코드 입니다.
Sub PasswordBreaker()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox "One usable password is " & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
코드를 모두 입력을 하셨다면 아래와 같이 추가가 될텐데요. 이상태에서 상단에 있는 재생 모양의 아이콘을 클릭 하시거나 F5 를 누르시면 실행이 됩니다. 실행이 되면 패스워드에 따라서 조금 오래 소요 될수도 있습니다. 경우에 따라서 응답없음 상태로 빠지기도 하는데요. 내부적으로 하나씩 패스워드를 대입 하는 방식으로진행이 되기 때문에 복잡한 패스워드일수록 오래 걸리게 됩니다. 이번에 테스트 할때는 단순한 패스워드라서 바로 응답이 나왔네요.
패스워드를 찾게 되면 아래처럼 찾은 패스워드를 출력 하면서 자동으로 시트보호가 해제가 되게 됩니다. 이후에는 시트를 편집 할수가 있게 되는데요. 필요한 경우에는 다시 시트보호를 하시면 됩니다. 패스워드가 어떻게 되어 있느냐에 따라서 소요시간은 다르며, 간혹 못 찾는 경우도 있을수 있습니다. 하지만 꼭 시트보호 해제가 필요하다면 이 방법을 시도해보는게 좋을거 같네요.
이상으로 엑셀 시트보호 암호 없이 해제하는 방법에 대해서 포스팅 해보았습니다. 이 방법은 구글에서 검색 했을때 나오는 방법으로 제가 직접 해본후에 포스팅을 하는겁니다. 그럼 이 방법이 통하길 바라면서 이만 포스팅 마치도록 하겠습니다. 여기 까지 읽어 주셔서 감사합니다. ^^