자신이 엑셀 파일의 내용 수정을 못하게 하기 위하여 시트 보호, 통합 문서 보호를 할 경우가 있다. 혹은 다른 사람이 그렇게 만든 엑셀 파일을 받을 경우가 있다. 이럴 경우에 내용을 수정하거나 어떻게 엑셀 파일을 만들었는지 보려고 하여도 볼 수가 없다. 암호가 있으면 가능하나 암호를 알 수가 없다. 이럴 경우에 사용할 수 있는 방법이다.

인터넷에 여러가지 방법이 나오는데 그 중에서 zip 압축 프로그램을 이용한 방법이 제일 효율적인 듯하다.

(다음은 엑셀 2013 기준)

1. 시트 보호 해제 하기

1) 탐색기에서 시트 보호된 엑셀 파일의 확장명을 zip으로 변경한다.

그림 0. 시트 보호, 통합 문서 보호가 된 엑셀 파일. 상단 오른쪽의 시트 보호 해제와 녹색을 보면 알 수 있다.

그림 0에서 시트 보호와 통합 문서 보호가 된 엑셀 파일이다. 먼저 탐색기에서 엑셀 파일의 확장명을 변경해야 한다.

이 글과 반대로 시트 보호, 통합 문서 보호하는 방법이 궁금하면 이 글 맨 하단의 링크 참조.

그림 1. 암호가 걸려있는 엑셀 파일 (탐색기)

위의 파일이 xlsx 된 파일이고 이 파일의 확장명을 zip으로 강제 변경한다.

그림 2. 확장명을 zip으로 변경한다. (탐색기)

2) 확장명이 zip으로 변경된 파일을 압축 프로그램에서 연다.

그림 3. 탐색기에서 우클릭한 화면

3) 압축 프로그램(알집) 수정할 파일을 찾는다.

그림 4. 알집 프로그램에서 본 화면

그림 4의 화면과 같이 xl - worksheets 를 클릭하면 시트 수 만큼의 xml 파일이 오른쪽에 나온다.

위의 그림에는 시트가 하나 밖에 없는 경우이다. 시트가 여러개이면 여러개를 수정할 수도 있다.

4) 우클릭하여 '프로그램 지정하여 실행(P)...'을 클릭

5) 노트패드 실행

그냥 확인을 클릭하여 노트패드를 실행한다.

6) CTRL-F 로 검색

노트패드에서 CTRL-F를 눌러 Protection 을 찾는다. 검색이 되지 않는다면 시트가 보호 되지 않은 경우이다. 아래와 같이 ' 안의 내용을 전부 삭제한다.

삭제할 문장

<sheetProtection password="CC71" sheet="1" objects="1" scenarios="1"/>

​xml 파일이 여러개이면 일일히 검색하여 찾아서 삭제하는 것을 반복한다.

7) 저장

노트패드에서 저장한다.

8) 자동 압축

노트패드에서 저장 후에 노트패드를 닫어면 아래와 같이 압축할 것인지 묻는다. 그럼 예(Y)를 눌러 다시 압축한다.

9) 확장명을 다시 엑셀 파일로 원상복귀

이제는 처음과 같이 탐색기에서 확장명을 xlsx로 원상 복귀 후에 엑셀 파일을 실행한다.

 

 

2. 통합 문서 보호 해제 하기

그림 9에서 시트 보호는 해제되었는데 아직 '통합 문서 보호'는 되어 있는 상태이다.

방법은 시트 보호를 해제 하는 경우와 동일하다. 다만 수정할 xml 파일이 다를 뿐이다. (그림 4 참조)

1), 2), 3) 은 시트 보호 해제하기 와 동일

​4) 우클릭하여 '프로그램 지정하여 실행(P)...'을 클릭

파일을 우클릭하여 노트패드를 실행한다.

5​) 번은 동일

​6) CTRL-F 로 검색

​protect로 검색하여 나오는 내용을 삭제한다. 시트 보호 해제할 때와 달리 workbookProtection으로 시작하는 문구를 삭제한다.

삭제할 내용

<workbookProtection workbookPassword="CC71" lockStructure="1"/>

​그 다음부터는 시트보호와 동일하게 수행하면 된다. 엑셀을 실행하면 다음과 같이 통합 문서가 보호가 풀려 있다.

이제마음대로 수정하거나 엑셀 파일의 내용을 볼 수가 있다.

엑셀파일의 VBA 프로젝트에 비번이 걸어놓고 까먹었을 경우에
해제하는 방법을 알아보자.
나는 Excel 2016을 사용했다.

1. 준비물
이번 시간엔 준비물이 두개 필요하다.
둘다 프리웨어로 부담이 없이 사용 가능하다.

(1) 반디집: 압축 및 압축해제 유틸
http://kr.bandisoft.com/bandizip/

(2) HxD: Hexa Editor
홈페이지: https://mh-nexus.de/en
다운로드페이지: https://mh-nexus.de/en/downloads.php?product=HxD20

2. 엑셀 파일의 복사본을 만들어 놓자. 혹시나 모를 상황에 대비!

3. 복사본의 엑셀파일의 xlsm 확장자를 zip확장자로 바꾼다.
변경하는 방법은.. 그냥 확장자 이름을 바꿔버리면 된다

4. zip파일을 열면 다음과 같은 폴더들이 보인다. 여기서 xl 폴더를 들어가보자.

5. 아래 보이는 vbaProject.bin 파일만 압축해제 한다.


6. 헥사 에디터로 vbaProject.bin을 열고 아래와 같이 'DPB' 란 텍스트 문자열을 찾는다.


7. DPB를 찾았다면 B부분을 x로 변경 후에 저장한다.
(DPB만 아니면 되기에 x말고 다른 문자열을 넣어도 무관하다.)

8. 다시 Zip 파일을 열고 xl폴더 안에 있는 vbaProject.bin 파일을 새로 저장한 파일과 바꾼다.
(반디집에서는 파일삭제, 파일추가 버튼을 눌러서 해결한다)

9. .zip 확장자를 .xlsm 파일로 다시 변경한다.

10. 변경한 파일을 실행하면 아래와 같은 창이 하나 뜨는데 Yes버튼을 누른다.

11. Alt+F11 버튼을 눌러 VBA 창을 연다.

12. 도구 메뉴 - VBAProject 속성을 눌러 속성창을 열고, 보호탭에서 새로운 비번을 입력한다.

 


13. 파일을 저장하고 다시 연 후에 VBAProject를 열어서 새로운 비번을 입력하면 OK!

업무를 하다 보면 엑셀 파일에 어마어마한 스타일이 지정되어 있는 경우가 더러 있어요.

이 때문에 엑셀이 버벅이기도 하고, 별로 무겁지 않은 파일인데 엄청 무거운 느낌의 파일로 대 변신을 하는 경우가 있죠.

[홈]-[스타일] 그룹에서 지정되어 있는 스타일입니다.

보통은 이렇지 않지만, 회사에서 사용하는 파일은 더러 이렇습니다.  이걸 한번에 지워보도록 하겠습니다.

먼저 하나씩 지우는 방법은 지우고자 하는 스타일에서 [마우스오론쪽버튼]-[삭제]를 누르면 됩니다.

하지만, 한꺼번에 지우는것은 안됩니다.  또한 지워지지 않는 것도 있습니다.

 

방법은 Microsoft사에서 제공하는 앱이 있습니다.

URL은 아래와 같습니다.

https://www.microsoft.com/ko-kr/store/p/xlstylestool/9wzdncrfjptg

다운받아 설치하시면 됩니다.

 

실행되면 아래와 같이 창이 열리는데, 이곳에서 스타일이 많이 지정되어 있는 파일을 [Get File] 버튼을 눌러 선택해 주세요, 그러면 해당 파일을 읽어오면서 이름지정된것, 스타일 지정된것들 등 의 갯수를 세어 보여 줍니다.  삭제할 부분에 체크하고 [Process File]을 누르시면 끝입니다.

엑셀 리본메뉴 이반적인 크기 입니다.


알수 없는 이유로 아이콘 크기는 같으나, 리본메뉴 자체가 커진 모습니다.


터치/마우스 모드를 체크합니다.

마우스를 선택하면 작게 표시되네요...


엑셀 리본메뉴 크기 조정 이었습니다.

  1. 스타일의 남아있는 잔여물들을 삭제하기 위해서는 파일을 xlsx 로 변환하여 styles.xml 파일을 수정 해야 한다.

  2. VBA는 닫고 정한 파일은 xlsx 로 저장 한다.


    1. 파일에 마우스 오른쪽 버튼 클릭하여 이름 바꾸기를 하고, xlsx 확장자를 zip으로 변경한다.(경고 메세지는 무시해도 된다.)

    2. 압축파일로 변경 되었다면 압축을 푼다.


    3. 압축을 푼 폴더 중 xl 폴더에서 styles.xml이 있는데, 이것을 메모장으로 연다.


      1. 메모장에서 편집- 찾기를 누르고 찾기 창에 <cellStyles count를 입력하고 다음찾기를 클릭 한다.

      2. <cellStyles count 가 선택 된 상태에서 Ctrl+Shift+End키를 눌러 마지막까지 선택하고 


        Shift 키만 누른 상태에서 왼쪽 화살표 (←)를 눌러 </cellStyles>까지만 선택 되도록 조절 한다


선택 된 내용을 삭제 하고 삭제한 자리에 아래 내용을 복사하여 붙여 넣기 한다.


<cellStyles count="1"><cellStyle name="표준" xfId="0" builtinId="0"/></cellStyles>

엑셀이 실행될때 Personal.xlsb 가 실행이되면 빈창이 하나 더 생김니다.

 

삭제 방법

 

엑셀 아래 시트에서 마우스 오른쪽 버튼 [코드 보기]

 

직접 실행 창이 없는 경우 보기를 눌려 창을 실행

 

? application.StartupPath

 

경로를 따라가서 파일을 삭제하면 됨.

엑셀 VBA 코드를 사용하여 추가기능에 버튼을 넣어서 메크로를 실행해보자.

 

대충 아래 그림과 같아지네요......

 

 

[버튼 설명]

Top : 선택영역 중 맨 윗칸에 합계넣기 (단, sum명령어가 아닌 +로)

Bottom : 선택영역 중 맨 아랫칸에 합계넣기.

Trim : 문자열 Trim (숫자에 "," 앞뒤에 빈칸 지우기)

Picture : 선택 셀에 사진 넣기 (셀의 가로 세로에 맞게)

 

일단 빈 창을 열어 VBA를 실행.

 

모듀을 추가 하여 코드를 넣는다. AddNew

추가기능에서 사용되는 버튼을 만드는 코드임.

 

 

모듈을 추가 하여 코드를 넣는다. My_Module

버튼을 클릭시 실행되는 VB 코드임.

 

 

다른이름으로 저장

파일이름 : 적당히

파일형식 : Excel 97-2003 추가기능

 

추가기능 등록은 검색하면 나옴.

 

이렇게 하고, 엑셀을 다시 시작해도 메뉴가 않나온다. 나도 고생 중.......

 

VBA 코드 편집기에 가서

현재_통합_문서 더블클릭 후 아래 코드를 넣어줘야. 생깁니다.

 

Private Sub Workbook_Open()
 Call AddNewCB
End Sub


 

다시 저장 (VBA 에서 저장)

 

엑셀 닫고, 다시 열면 짜잔.........

 

 

그리고 하나더 팁.

addcolor 추가 하였습니다.

셀에서 =sum(영역선택) 을 하면 합계가 됩니다. 모두 아실내용.

셀에서 =addcolor(A1:A10,A1) 이렇게 하면 A1에 있는 글자색과 같은 것만 합을 구합니다.

 

 

MyExcelAddIN01.xlam

 

'유틸리트 > Excel' 카테고리의 다른 글

유령스타일 삭제 [2]  (0) 2017.05.23
Personal.xlsb 삭제  (0) 2016.05.07
엑셀 2010 공유법위반 오류 패치  (0) 2011.08.07
설계변경 20070515  (0) 2011.08.07
유령 셀 스타일 삭제  (1) 2011.07.23
엑셀 2010 사용중 저장할때 공유법위반 이라 하면서 계속 에러가 생길때 패치.

출처 : 기억이...... 암튼 마소에서 겨우 찾았음.

'유틸리트 > Excel' 카테고리의 다른 글

Personal.xlsb 삭제  (0) 2016.05.07
엑셀 추가기능 만들기  (1) 2016.05.06
설계변경 20070515  (0) 2011.08.07
유령 셀 스타일 삭제  (1) 2011.07.23
아라비아 숫자를 한글 및 한자로  (0) 2009.08.11
설계변경 Tool 입니다.

설치방법(Excel 2010 기준)

파일 > 옵션
추가기능(왼쪽창) > 관리:이동(오른쪽창)
찾아보기 > 압축푼화일 복사, 선택, 확인

리본메뉴에 아래와 같이 추가 기능 버틍이 생깁니다.

나머진 설명서 참고.


'유틸리트 > Excel' 카테고리의 다른 글

Personal.xlsb 삭제  (0) 2016.05.07
엑셀 추가기능 만들기  (1) 2016.05.06
엑셀 2010 공유법위반 오류 패치  (0) 2011.08.07
유령 셀 스타일 삭제  (1) 2011.07.23
아라비아 숫자를 한글 및 한자로  (0) 2009.08.11


유령 셀 스타일 삭제 방법입니다.

엑셀 2010이 설치되어있다는 가정하에 가르쳐드리겠습니다.


엑셀 파일이 [Excel 97 - 2003 통합 문서] 일경우,

다른이름으로 저장    [Excel 통합 문서] 닫고.

방금 저장한 파일을 엑셀로다시열고

다른이름으로 저장    [XML 스프레드시트 2003] 닫고.

방금 저장한 파일을 엑셀로다시열고

다른이름으로 저장    [Excel 97 - 2003 통합 문서]

이렇게 하면

사용자 셀스타일이 기본만 남고 모두 삭제 됩니다.

단, 삽입-도형에서 그린 선들은 다시 복사하셔야 합니다.

'유틸리트 > Excel' 카테고리의 다른 글

Personal.xlsb 삭제  (0) 2016.05.07
엑셀 추가기능 만들기  (1) 2016.05.06
엑셀 2010 공유법위반 오류 패치  (0) 2011.08.07
설계변경 20070515  (0) 2011.08.07
아라비아 숫자를 한글 및 한자로  (0) 2009.08.11

+ Recent posts