본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA for 워드

워드 VBA 코드를 사용한 목차 자동 생성

by 포탈메이커 2023. 7. 4.

워드 VBA 코드를 사용한 목차 자동 생성

소개

워드는 강력한 문서 작성 도구로서, 긴 문서들을 작성할 때 목차는 필수적인 요소입니다. 목차는 문서의 구조를 시각화하고 독자들이 내용을 쉽게 찾을 수 있도록 도와줍니다. 하지만 매번 수작업으로 목차를 작성하는 것은 번거로울 수 있습니다. 이러한 문제를 해결하기 위해 VBA(Visual Basic for Applications)를 이용해 워드의 목차를 자동으로 생성할 수 있습니다. VBA를 사용하면 목차를 자동으로 업데이트하고 형식을 일관되게 유지할 수 있습니다. 이제 워드 VBA 코드를 사용하여 목차를 자동으로 생성하는 방법을 알아보겠습니다.

VBA 코드 작성하기

  1. 워드를 열고, 해당 문서의 "개발" 탭을 선택합니다.
  2. "Visual Basic"을 클릭하여 VBA 에디터를 엽니다.
  3. 새 모듈을 추가하고, 아래의 코드를 입력합니다.
Sub CreateToc()
    Dim Toc As TableOfContents
    Dim Doc As Document
    Dim Rng As Range
    Dim TocTitle As Range

    Set Doc = ActiveDocument
    Set Rng = Doc.Range

    ' 목차 삽입 위치로 이동
    Rng.Collapse Direction:=wdCollapseEnd
    Rng.Move unit:=wdParagraph, count:=1
    Rng.InsertParagraphAfter
    Rng.Collapse Direction:=wdCollapseEnd

    ' 목차 제목 설정
    Set TocTitle = Rng
    TocTitle.Style = Doc.Styles("Heading 1")
    TocTitle.InsertAfter "목차"
    TocTitle.InsertParagraphAfter
    TocTitle.Collapse Direction:=wdCollapseEnd

    ' 목차 생성
    Set Toc = Doc.TablesOfContents.Add(Range:=Rng, _
        useheadingstyles:=True, _
        upperheadinglevel:=1, _
        lowerheadinglevel:=3)
    Toc.Update
End Sub
  1. VBA 코드를 입력한 후, VBA 에디터를 닫습니다.

목차 자동 생성하기

  1. 워드 문서에서 목차가 필요한 위치로 이동합니다.
  2. "개발" 탭에서 "매크로 보기"를 클릭합니다.
  3. "CreateToc"라는 매크로를 찾아 실행합니다.
  4. 실행하면 목차가 자동으로 생성됩니다.

결과 확인하기

매크로를 실행하면 목차가 자동으로 생성되며, 문서의 제목과 페이지 번호가 목차에 포함됩니다. 원하는 대로 형식을 수정하고, 문서 내용을 추가하거나 수정하면 목차도 자동으로 업데이트됩니다.

마무리

이렇게 워드 VBA 코드를 사용하여 목차를 자동으로 생성할 수 있습니다. 목차는 문서의 구조를 시각화하고 독자들이 내용을 쉽게 찾을 수 있도록 도와줍니다. VBA를 사용하면 목차를 자동으로 업데이트하고 일관된 형식을 유지할 수 있으므로 효율적인 문서 작성에 큰 도움이 됩니다. 워드 사용자라면 VBA를 익히고 목차를 자동으로 생성하는 기능을 활용해 보세요!