티스토리 뷰
VBA를 사용하여
엑셀 시트 보호 나 통합문서 보호 비밀번호를 까먹었을 때
비밀번호 없이 해제하는 방법에 대해 알아보자.
(다른 방법도 있으니 이 방법으로 안된다면 아래 페이지에서 시도해보자.
참조: 엑셀 시트보호 or 통합문서 비번 없이 해제하기 Ver. 2 )
엑셀 VBA Project의 보호 비번을 해제 하고 싶다면 아래 페이지를 확인하자.
참조 : 엑셀 VBA 프로젝트 보호 비번 없이 해제하기
이 방법은 엑셀 2010 이하 버전에서 적용할 수 있는 방법으로,
* 오피스 2010 이후 버전(2013, 2016, etc.)에서 이 방법을 사용하려면
기존 파일을 다른 이름으로 저장하여
'엑셀 97 - 2003 통합 문서 (*.xls)'로 저장하고, 해제를 한 후에 다시 '엑셀 통합 문서 (*.xlsx)'로 저장하면 된다.
순서
1. 보호 해제할 엑셀 파일을 연다.
2. Alt+F11을 눌러 Microsoft Visual Basic for Application 창을 연다.
3. 프로젝트 창 - VBAProject (통합 문서1) 를 마우스 오른쪽 클릭하고 삽입 - 모듈을 눌러 모듈을 생성한다.
4. 생성된 모듈을 더블클릭 한 후, 아래와 같이 코드를 복사해 넣는다.
a) 시트 보호 해제를 원할 경우
Sub PasswordBreaker() 'Breaks worksheet password protection. 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 Sheet6.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 Sheet6.ProtectContents = False Then MsgBox "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
- 중간에 있는 'Sheet6' 부분을 해제하고 싶은 시트의 이름을 넣는다.
b) 통합문서보호 해제를 원할경우
Sub PasswordBreaker() 'Breaks worksheet password protection. 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 ThisWorkbook.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 ThisWorkbook.ProtectStructure = 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
5. F5키를 눌러 매크로를 실행하고 대기 하면 완료됐다는 팝업 창이 하나 뜰것이다.
나와있는 내용을 외울 필요 없이 OK만 눌러준다.
끝!
'FYI' 카테고리의 다른 글
버팀목 전세자금 대출 신청하기(준비물) (0) | 2020.08.27 |
---|---|
엑셀 시트보호 or 통합문서 비번 없이 해제하기 Ver. 2 (5) | 2019.12.04 |
엑셀 VBA 프로젝트 보호 비번 없이 해제하기 (40) | 2019.01.08 |
[팁] LG 유플러스 테더링 제한 우회하기(노트8) (54) | 2018.12.18 |
유용한 사이트 모음 (0) | 2018.07.25 |
- Total
- Today
- Yesterday
- 청년내일채움공제 만기신청
- ADO
- 모달리스 다이얼로그
- MFC ADO
- 부가가치세
- 모달리스
- 부가가치세전산매체
- MFC Modeless
- c++
- 법정동코드
- MXCOMPONENT
- MFC
- SendMessage
- MSSQL
- 스쿠트항공 환불받기
- 소켓
- ADODB
- 청년내일채움공제
- sqlite3
- 해외송금확인
- 전자신고변환
- 프로세스이름변경
- 항공알파벳
- Sticky Notes Loading
- Modeless
- #자동업데이트
- 세금계산서합계표양식
- 전자신고파일설명서
- CMFCBUTTON
- 스티커메모로드중
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |