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

워드 VBA 코드를 활용한 문서 인덱스 업데이트 자동화

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

워드 VBA 코드를 활용한 문서 인덱스 업데이트 자동화

워드 문서를 작성할 때, 문서 내에 인덱스를 작성하는 것은 중요한 작업입니다. 그러나 일일히 수작업으로 인덱스를 작성하는 것은 매우 번거로운 일입니다. 다행히도 워드 VBA(Visual Basic for Applications) 코드를 활용하면 이러한 작업을 자동화할 수 있습니다. 이번 포스팅에서는 워드 VBA 코드를 사용하여 문서 인덱스를 업데이트하는 방법을 알아보겠습니다.

1. VBA 에디터 열기

먼저, 워드 문서를 열고 Alt + F11을 눌러 VBA 에디터를 엽니다. VBA 에디터는 워드의 개발 환경으로, VBA 코드를 작성하고 실행할 수 있는 공간입니다.

2. VBA 코드 작성

이제 VBA 에디터에서 아래와 같은 코드를 작성합니다.

Sub UpdateIndex()
    With ActiveDocument
        .TablesOfContents(1).Update
    End With
End Sub

위 코드는 현재 열려있는 워드 문서의 첫 번째 인덱스를 업데이트하는 코드입니다. TablesOfContents(1)은 문서 내에 있는 첫 번째 인덱스를 의미합니다. 만약 문서 내에 여러 개의 인덱스가 있다면, TablesOfContents(2), TablesOfContents(3)과 같이 번호를 변경하여 다른 인덱스도 업데이트할 수 있습니다.

3. 코드 실행하기

작성한 VBA 코드를 실행하기 위해서는 VBA 에디터 창에서 F5를 누르거나, 워드 문서에 돌아와서 Alt + F8을 누른 뒤 업데이트할 인덱스를 선택하고 "매크로 실행"을 클릭하면 됩니다. 해당 인덱스가 업데이트되고, 문서 내용에 변화가 생긴 경우에는 새로운 내용을 반영하여 인덱스가 업데이트됩니다.

4. 자동화하기

위에서 소개한 VBA 코드를 자동실행매크로로 등록하면, 워드 문서를 열 때마다 인덱스가 자동으로 업데이트됩니다. 아래와 같이 코드를 수정하여 자동실행매크로로 등록하세요.

Sub AutoOpen()
    With ActiveDocument
        .TablesOfContents(1).Update
    End With
End Sub

Sub AutoExit()
    ' 종료 시 필요한 작업이 있는 경우 여기에 코드를 작성하세요
End Sub

위 코드에서 AutoOpen은 워드 문서가 열릴 때 실행되는 매크로이고, AutoExit은 워드 문서가 닫힐 때 실행되는 매크로입니다. AutoExit 매크로는 필요한 작업이 있는 경우에만 사용하면 됩니다.

자동실행매크로로 등록한 후에는 워드 문서를 열 때마다 인덱스 업데이트를 수동으로 실행할 필요가 없이 자동으로 업데이트됩니다.

마무리

이처럼 워드 VBA 코드를 활용하면 문서 인덱스를 효율적으로 업데이트할 수 있습니다. VBA 코드를 사용하면 일일히 인덱스를 작성하고 업데이트하는 수고를 덜 수 있어 시간을 절약할 수 있습니다. VBA에 익숙하지 않더라도 이번 포스팅을 참고하여 간단한 작업부터 시작해보세요. 효율적인 문서 작성을 위해 워드 VBA 코드를 활용해보세요!