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

워드 VBA 코드를 활용한 문서 분할 자동화

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

워드 VBA 코드를 활용한 문서 분할 자동화

많은 사람들이 워드 문서를 작성하고 수정하는데 많은 시간을 소비하며 단순 반복 작업에 지칠 때가 있습니다. 특히 대량의 문서를 처리해야 할 때, 일일이 분할해서 작업하는 것은 매우 번거로운 일일 수 있습니다. 이런 경우 워드 VBA(Visual Basic for Applications) 코드를 활용하여 문서 분할 작업을 자동화할 수 있습니다. 이번 포스팅에서는 이러한 워드 VBA 코드를 활용한 문서 분할 자동화에 대해 알아보겠습니다.

워드 VBA란?

VBA는 마이크로소프트의 제품군인 엑셀, 워드, 파워포인트 등에서 사용되는 프로그래밍 언어입니다. VBA를 사용하면 여러 가지 작업을 자동화하고 사용자가 직접 프로그램을 개발하는 것처럼 기능을 추가하거나 수정할 수 있습니다. 워드 VBA는 워드 문서에 대한 작업을 자동화해주는 확장 기능으로, 워드에서 수행하는 많은 작업을 간소화하고 생산성을 향상시킬 수 있습니다.

워드 VBA를 활용한 문서 분할 자동화

먼저, 워드 VBA를 활용하여 문서 분할을 자동화하는 방법에 대해 살펴보겠습니다. 문서 분할 자동화를 위해서는 먼저 워드 VBA 에디터를 열어야 합니다. 일반적으로 'ALT + F11' 키를 누르면 워드 VBA 에디터가 열립니다.

1. 문서 분할 대상 설정

문서 분할 자동화를 수행하기 위해서는 문서 내용을 분할할 기준을 설정해야 합니다. 일반적으로 문서 내의 특정 키워드나 구분자, 특정 위치 등을 찾아내어 해당 위치를 기준으로 문서를 분할합니다. 예를 들어, 문서 내에 'Chapter'라는 키워드가 나올 때마다 문서를 분할한다고 가정해봅시다. 이 경우 'Chapter'라는 키워드를 기준으로 문서를 분할할 수 있습니다.

2. VBA 코드 작성

문서 분할을 위해 워드 VBA 코드를 작성해야 합니다. 작성된 코드는 워드 VBA 에디터 창의 모듈에 저장되어야 합니다. 다음은 'Chapter' 키워드로 문서를 분할하는 예시 코드입니다.

Sub DivideDocument()
    Dim i As Integer

    ' 분할할 키워드 설정
    Dim keyword As String
    keyword = "Chapter"

    ' 현재 문서의 내용 가져오기
    Dim content As String
    content = ActiveDocument.Content.Text

    ' 키워드를 기준으로 문서 분할하기
    Dim splitArr() As String
    splitArr = Split(content, keyword)

    ' 분할된 문서 저장하기
    For i = 1 To UBound(splitArr)
        Dim doc As Document
        Set doc = Documents.Add

        ' 분할된 문서에 내용 삽입하기
        doc.Content.Text = keyword & splitArr(i)

        ' 분할된 문서 저장하기
        doc.SaveAs2 "분할된 문서 " & i & ".docx"
        doc.Close
    Next i
End Sub

3. 문서 분할 수행

작성된 VBA 코드를 실행하여 문서 분할 작업을 수행할 수 있습니다. 워드 VBA 에디터에서 작성한 코드를 실행하기 위해서는 'F5' 키를 누르거나 실행 버튼을 클릭하면 됩니다. 코드가 실행되면 워드 문서가 분할되어 새로운 문서 파일로 저장되고, 분할된 문서 파일은 순차적으로 "분할된 문서 1.docx", "분할된 문서 2.docx", ..., "분할된 문서 n.docx"와 같은 이름으로 저장됩니다.

더 많은 활용 방안

위에서는 'Chapter'라는 키워드를 기준으로 문서를 분할하는 예시를 보여줬지만, 실제로는 다양한 기준으로 문서를 분할할 수 있습니다. 예를 들어, 문서 내의 특정 스타일을 적용한 부분을 기준으로 문서를 분할하거나, 문서 내의 페이지 구분을 기준으로 문서를 분할할 수도 있습니다. 워드 VBA는 다양한 기능과 메서드를 제공하며, 원하는 대로 코드를 작성하여 사용자의 요구에 맞는 자동화 작업을 수행할 수 있습니다.

마치며

이처럼 워드 VBA를 활용하여 문서 분할 작업을 자동화할 수 있습니다. 워드 VBA를 익히고 활용하면 단순 작업 반복을 줄이고 생산성을 향상시킬 수 있습니다. 문서 분할 작업 뿐만 아니라 워드에서 자주 사용하는 다양한 작업들을 워드 VBA로 자동화할 수 있으니, 워드 VBA에 대해 관심을 가지고 학습해보는 것을 추천합니다.