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

워드 문서에서 특정 단어 정렬 자동화를 위한 VBA 코드

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

워드 문서에서 특정 단어 정렬 자동화를 위한 VBA 코드

워드 문서 작업 중 특정 단어를 자동으로 정렬하고 싶을 때가 있을 것입니다. 이럴 때 VBA 코드를 사용하면 편리하게 작업할 수 있습니다. VBA(Visual Basic for Applications)는 마이크로소프트 오피스 제품군에서 사용되는 마크로 프로그래밍 언어로, 워드의 기능을 확장할 수 있는 강력한 도구입니다.

이번 포스팅에서는 VBA 코드를 사용하여 워드 문서에서 특정 단어를 정렬하는 방법을 소개하겠습니다. 이를 통해 문서 작업의 효율성을 높일 수 있습니다.

VBA 코드를 사용한 단어 정렬 자동화

먼저, VBA 코드를 작성하기 전에 VBA 에디터를 열어야 합니다. 이를 위해 워드 문서를 열고 키보드에서 Alt + F11을 누르세요. VBA 에디터 창이 열리면 아래의 코드를 입력해보겠습니다.

Sub SortWords()
    Dim rng As Range
    Dim word As Range

    ' 검색할 단어 지정
    Const searchWord As String = "특정 단어"

    Set rng = ActiveDocument.Content
    With rng.Find
        .Text = searchWord

        While .Execute
            Set word = rng.Duplicate
            word.Collapse wdCollapseStart
            word.MoveEndUntil " "
            word.Sort
        Wend
    End With
End Sub

위 코드는 기본적인 VBA 코드 구조를 가지고 있습니다. 이 코드를 통해 "특정 단어"라는 단어를 검색하고 해당 단어를 포함한 문장을 정렬합니다.

먼저, 코드의 첫 번째 줄에서 VBA 서브루틴(Sub)인 SortWords를 정의하고 있습니다. 이는 코드를 실행할 때 호출되는 부분입니다.

다음으로, rng이라는 범위를 선언합니다. 이 범위는 작업 대상이 되는 문서의 전체 내용을 포함하도록 지정됩니다.

Const searchWord As String = "특정 단어" 코드의 세 번째 줄에서는 검색할 특정 단어를 설정합니다. 이 단어는 나중에 코드 실행 시 실제로 검색됩니다. 원하는 단어로 변경해주세요.

With rng.Find 구문에서는 rng 범위를 기준으로 단어 검색을 시작하는 부분입니다. Text = searchWord와 같이 검색할 단어를 지정합니다.

While .Execute 구문을 통해 rng 범위 내에서 단어 검색을 반복합니다. 단어 검색이 실행되지 않을 때까지 반복하는 것입니다.

Set word = rng.Duplicate와 같이 word라는 범위를 선언하고 검색된 단어를 복제하여 지정합니다.

word.Collapse wdCollapseStart를 통해 검색된 단어의 첫 번째 문자로 커서를 이동시킵니다. Collapse 메소드는 선택 범위를 접근 가능한 끝으로 축소시키는 데 사용됩니다.

word.MoveEndUntil " "는 단어가 끝날 때까지 커서를 이동시킵니다. 이 코드는 단어가 스페이스로 끝나는 경우를 고려하여 정렬 범위를 설정합니다.

word.Sort는 정렬을 수행하는 메소드입니다.

이제 코드 작성이 완료되었습니다.

VBA 코드 실행

VBA 코드를 작성한 후에는 이를 실행해야 합니다. VBA 에디터 창에서 SortWords 서브루틴을 선택하고 F5 키를 누르면 코드가 실행됩니다.

그러면 워드 문서에서 특정 단어를 검색하여 해당 단어가 포함된 문장을 자동으로 정렬할 것입니다.

마무리

이번 포스팅에서는 워드 문서에서 특정 단어를 정렬하는 방법에 대해 살펴보았습니다. VBA 코드를 사용하여 단어를 검색하고 정렬하는 기능을 활용하면 작업 효율성을 높일 수 있습니다.

VBA의 힘을 빌려 워드 문서 작업을 보다 효율적으로 수행할 수 있도록 고민해보세요. 앞으로도 다양한 VBA 코드와 활용법을 소개할 예정이니, 많은 관심 부탁드립니다.

자세한 코드 설명과 예제는 아래 VBA 공식 문서를 참고하시기 바랍니다.

좋은 문서 작업을 위해 VBA를 활용해보세요!