성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
Digital Stories
방명록
최근 덧글
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
[정성태] Modules 창(Ctrl+Shift+U)을 띄워서, 해당 Op...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
기타
생각의 전환
부모글 보이기/감추기
내용
<div style='display: inline'> <div style='font-family: 맑은 고딕, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>Microsoft Word 2007로 매뉴얼 제작: (5) 표, 그림의 번호 지정</div><br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > <a target='_tab' href='http://www.sysnet.pe.kr/0/0/295'>Microsoft Word 2007로 매뉴얼 제작: (1) 머리말, 꼬리말, 본문 기본 서식 지정</a> <a target='_tab' href='http://www.sysnet.pe.kr/0/0/296'>Microsoft Word 2007로 매뉴얼 제작: (2) 맞춤법 검사</a> <a target='_tab' href='http://www.sysnet.pe.kr/0/0/297'>Microsoft Word 2007로 매뉴얼 제작: (3) 목차 구성</a> <a target='_tab' href='http://www.sysnet.pe.kr/0/0/298'>Microsoft Word 2007로 매뉴얼 제작: (4) 인덱스 구성</a> Microsoft Word 2007로 매뉴얼 제작: (5) 표, 그림의 번호 지정 <a target='_tab' href='http://www.sysnet.pe.kr/0/0/300'>Microsoft Word 2007로 매뉴얼 제작: (6) 문서 버전 관리</a> <a target='_tab' href='http://www.sysnet.pe.kr/0/0/301'>Microsoft Word 2007로 매뉴얼 제작: (7) 문서 비교</a> </pre> <br /> "목차" / "인덱스"와 같이 "표" 또는 "그림"에서도 "번호" 및 "페이지" 관리가 필요합니다. 왜 그런지 한번 볼까요? 아래의 예제를 보면,<br /> <br /> [그림 1: "표" 사용 예제]<br /> <img alt='word_manual_chapter_5_1.png' style='border: 2px groove #18659C' src='/SysWebRes/bbs/word_manual_chapter_5_1.png' /><br /> <br /> "[표 1-1]"이라고 지정을 하고 있는데요. 만약 위의 글에서 앞에 "1장"을 새롭게 넣어야 하는 경우가 발생했다고 가정해 보면, "[표 2-1]"이라고 새롭게 변경해 주어야 합니다. 또한 문서 전체에 걸쳐서 "[표 1-1]"을 지정한 텍스트를 찾아서 변경해 주어야 합니다. 문서 내용이 커질수록 보통 작업이 아니지요.<br /> <br /> 그래서 이러한 관리는 편집 프로그램들에 의해서 제공되어져야 합니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 일단 임의로 사용자가 지정한 "표 1"이라는 문자열은 삭제합니다. 그리고 그 자리에 커서를 위치시키고 "References" 리본 탭의 "Insert Caption" 메뉴를 선택합니다. (또는 해당 표/그림을 선택하고 마우스 오른쪽 버튼을 눌러서 나오는 메뉴에 "Insert Caption..."을 선택합니다.)<br /> <br /> [그림 2: Caption 메뉴]<br /> <img alt='word_manual_chapter_5_2.png' style='border: 2px groove #18659C' src='/SysWebRes/bbs/word_manual_chapter_5_2.png' /><br /> <br /> "Caption" 대화창에서 적절한 라벨(Heading 1, 그림, 수식, 표...)을 선택하고 확인 버튼을 누릅니다.<br /> <br /> [그림 3: Caption 설정 대화창]<br /> <img alt='word_manual_chapter_5_3.png' style='border: 2px groove #18659C' src='/SysWebRes/bbs/word_manual_chapter_5_3.png' /><br /> <br /> 적용되고 나면 아래와 같이 자동으로 "표"라는 제목과 "1"번이 지정된 것을 볼 수 있습니다.<br /> <br /> [그림 4: 자동 번호가 적용된 표]<br /> <img alt='word_manual_chapter_5_4.png' style='border: 2px groove #18659C' src='/SysWebRes/bbs/word_manual_chapter_5_4.png' /><br /> <br /> 이렇게 삽입된 "표 1"의 번호는 편집 프로그램에 의해서 관리되는 영역으로 인식됩니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 자, 이걸로 표 자체에 대한 자동 번호 지정 기능은 되었고. 그렇다면 이러한 항목들을 문장내에서 "문자열"로 지정하는 것 또한 알아봐야겠습니다. 예를 들어, "표1"을 아래와 같이 본문에 썼다면,<br /> <br /> [그림 5: 본문에 적힌 "[표 1]" 문자열]<br /> <img alt='word_manual_chapter_5_5.png' style='border: 2px groove #18659C' src='/SysWebRes/bbs/word_manual_chapter_5_5.png' /><br /> <br /> 이제는 자동적으로 "[표 1 제니퍼 서버 사양]"의 실제 표가 제목이 새롭게 부여될 때마다 따라가도록 "참조"시켜야 합니다. 이를 위해서 원래의 "[표 1]" 문자열 내에서 "표 1"을 삭제하고 "References" 리본 탭의 "Cross-reference" 메뉴를 선택합니다.<br /> <br /> [그림 6: "Cross-reference" 메뉴]<br /> <img alt='word_manual_chapter_5_6.png' style='border: 2px groove #18659C' src='/SysWebRes/bbs/word_manual_chapter_5_6.png' /><br /> <br /> "Cross-reference" 대화창에서 "Reference type" 항목은 "표"를 선택하고 "Insert reference to:" 항목은 "Only label and number"를 선택한 후 "For which caption" 목록에서 본문에서 가리킬 표에 해당하는 항목을 선택하고 "Insert"버튼을 눌러줍니다.<br /> <br /> [그림 7: 가리킬 표를 선택]<br /> <img alt='word_manual_chapter_5_7.png' style='border: 2px groove #18659C' src='/SysWebRes/bbs/word_manual_chapter_5_7.png' /><br /> <br /> 아래는 자동으로 참조 유지가 되는 최종 문서의 예입니다.<br /> <br /> [그림 8: 적용 문서 예]<br /> <img alt='word_manual_chapter_5_8.png' style='border: 2px groove #18659C' src='/SysWebRes/bbs/word_manual_chapter_5_8.png' /><br /> <br /> <hr style='width: 50%' /><br /> <br /> 그런데, 한 가지 문제가 있습니다. 이전에 말했던 시나리오처럼 "표 1" 앞에 또 다른 표를 삽입한 경우를 예로 들면, 기존에 있었던 표들은 전부 "표 2"부터 시작해서 다시 자동적으로 번호가 매겨져야 하는데, 현재 이 기능은 "자동으로는" 지원되지 않습니다. 그래서 모든 표를 돌아다니면서 "표 [번호]"에 가서 마우스 오른쪽 버튼을 눌러 "Update Field"를 선택해 주어야 합니다.<br /> <br /> 그런데, 더 심각한 문제가 있습니다. 실제 "표"에 대해서 업데이트 한 것처럼, 그것들을 참조하고 있는 본문의 "표 [번호]"들도 모두 찾아가서 "Update Field" 메뉴를 선택해 주어야 합니다. 솔직히, 이쯤 되면 현실성이 없습니다. ^^;<br /> <br /> 그런데, 마이크로소프트 워드의 장점이 이제 발휘됩니다. 바로, 모든 문서 내용을 "프로그램"으로 다룰 수 있다는 점입니다. 마침 이에 대한 요구 사항이 저만 그랬던 것이 아니기 때문에 아래의 글에서 이에 대해 친절하게 설명해 주고 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > Idiots' Guide to Installing Macros ; <a target='_tab' href='http://www.gmayor.com/installing_macro.htm'>http://www.gmayor.com/installing_macro.htm</a> </pre> <br /> 위의 글을 정리해 보면, 마이크로소프트 워드의 매크로에 다음의 함수를 등록하고,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > Sub <b style='COLOR: blue'>UpdateAll</b>() Dim oStory As Range For Each oStory In ActiveDocument.StoryRanges oStory.Fields.Update If oStory.StoryType <> wdMainTextStory Then While Not (oStory.NextStoryRange Is Nothing) Set oStory = oStory.NextStoryRange <b style='COLOR: blue'>oStory.Fields.Update</b> Wend End If Next oStory Set oStory = Nothing End Sub </pre> <br /> 문서 내용을 모두 돌아다니면서 "Field Update"를 할 필요 없이, 간단하게 위의 매크로만 한 번 실행해 주면 다음과 같이 자동으로 필드가 모두 업데이트 됩니다.<br /> <br /> [그림 9: 매크로를 실행하여 모든 필드를 업데이트]<br /> <img alt='word_manual_chapter_5_9.png' style='border: 2px groove #18659C' src='/SysWebRes/bbs/word_manual_chapter_5_9.png' /><br /> <br /> 초기에는, 편집 프로그램으로 문서를 작성하면 왠지 쓸데없는 시간이 더 들어가는 것처럼 보이지만 향후 문서 내용이 커지는 상황에서는 오히려 엄청난 시간 단축이 될 수 있다는 장점!<br /> <br /><br /><hr /><span style='color: Maroon'>[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1611
(왼쪽의 숫자를 입력해야 합니다.)