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

워드 문서에서 특정 스타일 병합 자동화를 위한 VBA 코드

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

워드 문서에서 특정 스타일 병합 자동화를 위한 VBA 코드

워드 문서 작업은 많은 사람들에게 익숙한 일이지만, 대규모 문서 작업을 할 때는 반복되는 작업들이 생겨나게 됩니다. 그 중에서도 특정 스타일을 가진 문단을 찾아서 병합하는 작업은 어려운 과정일 수 있습니다. 하지만 VBA(Visual Basic for Applications)를 이용하면 이러한 작업을 자동화할 수 있습니다.

VBA는 마이크로소프트 오피스 제품군에서 사용되는 프로그래밍 언어로, 워드에서도 활용이 가능합니다. 워드에서 VBA 코드를 작성하고 실행하면, 문서 내의 특정 스타일을 가진 문단을 자동으로 병합할 수 있습니다.

VBA

VBA 코드를 이용한 스타일 병합 자동화

아래는 워드 문서에서 특정 스타일을 가진 문단을 병합하는 VBA 코드의 예시입니다.

Sub MergeSpecificStyleParagraphs()
    Dim doc As Document
    Dim pg As Paragraph
    Dim rng As Range
    Dim styleToMerge As Style

    ' 워드 문서 열기
    Set doc = Documents.Open("C:\Documents\Test.docx")

    ' 병합할 스타일 선택
    Set styleToMerge = doc.Styles("Heading 1")

    ' 병합 대상 문단 검색
    For Each pg In doc.Paragraphs
        ' 스타일 확인
        If pg.Style = styleToMerge Then
            ' 병합 대상 문단을 병합할 범위에 추가
            If rng Is Nothing Then
                Set rng = pg.Range
            Else
                rng.End = pg.Range.End
            End If
        Else
            ' 이미 병합된 문단인 경우 다음으로 넘어감
            If Not rng Is Nothing Then
                rng.Select
                Selection.Paragraphs.Merge
                Set rng = Nothing
            End If
        End If
    Next pg

    ' 마지막으로 남은 병합 대상 문단을 병합
    If Not rng Is Nothing Then
        rng.Select
        Selection.Paragraphs.Merge
    End If

    ' 워드 문서 닫기
    doc.Close SaveChanges:=wdSaveChanges

    ' 메시지 박스 출력
    MsgBox "문단 병합이 완료되었습니다."
End Sub

코드 설명

위의 코드는 다음과 같은 과정으로 문단을 병합합니다.

  1. 워드 문서를 열고, 병합할 스타일을 선택합니다.
  2. 문서 내의 모든 문단을 확인하면서 선택한 스타일과 일치하는 문단을 찾습니다.
  3. 일치하는 문단을 병합할 범위에 추가합니다.
  4. 일치하지 않는 문단을 만나면, 병합할 범위에 있는 문단들을 병합합니다.
  5. 마지막으로 남은 병합 대상 문단도 병합합니다.
  6. 워드 문서를 닫습니다.
  7. 작업이 완료되었다는 메시지를 출력합니다.

코드 실행

위의 코드를 실행하기 위해서는 다음 단계를 따라야 합니다.

  1. 워드 문서를 열고, 개발자 탭에 있는 "Visual Basic"을 클릭하여 VBA 편집기를 엽니다.
  2. VBA 편집기 창에서 "프로젝트 탐색기"를 선택하고, "ThisDocument"를 클릭합니다.
  3. VBA 코드를 붙여넣고, 실행하려면 "F5" 키를 누릅니다.

마치며

VBA를 이용하면 워드 문서에서의 특정 작업을 자동화할 수 있습니다. 특히, 복잡한 작업들이 많은 대규모 문서 작업에서는 VBA를 활용하는 것이 유용할 수 있습니다. VBA 코드를 사용하여 특정 스타일 병합 작업을 자동화하면, 작업 시간을 줄이고 정확성을 향상시킬 수 있습니다.