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

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

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

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

안녕하세요. 오늘은 워드 문서에서 특정 스타일을 찾는 과정을 자동화하기 위한 VBA 코드를 소개하려 합니다. VBA(Visual Basic for Applications)는 마이크로소프트 오피스 제품군에서 사용되는 프로그래밍 언어로, 기능을 확장하고 자동화할 수 있게 도와줍니다.

VBA 매크로를 활용한 스타일 찾기 자동화

VBA를 이용하면 워드 문서에서 특정 스타일을 찾는 작업을 자동화할 수 있습니다. 아래의 코드는 특정 스타일을 찾아 해당 스타일을 적용한 부분을 찾는 예시입니다.

Sub FindStyle()
    Dim doc As Document
    Set doc = ActiveDocument

    Dim findStyle As Style
    Set findStyle = doc.Styles("스타일의 이름")

    Dim rng As Range
    Set rng = doc.Content

    With rng.Find
        .ClearFormatting
        .Style = findStyle
        .Forward = True
        .Wrap = wdFindStop

        Do While .Execute
            ' 스타일을 찾은 경우 원하는 작업 수행
            ' 예를 들어, 스타일을 변경하거나 특정 텍스트를 삽입하는 등의 작업
            ' rng에는 해당 스타일이 적용된 부분의 범위가 저장되어 있음
            ' 작업 후 .Execute를 다시 진행하여 다음 스타일 찾기 수행
            ' 여기에 원하는 작업을 추가하세요
            
            ' 스타일이 적용된 텍스트에 작업 예시: 굵은 글꼴로 변경
            rng.Font.Bold = True
            
            ' 다음 스타일 찾기 수행
            .Execute
        Loop
    End With
End Sub

위 코드를 보면, 먼저 doc 변수를 생성하여 현재 열려있는 워드 문서를 할당합니다. 그리고 findStyle 변수에 찾고자 하는 스타일의 이름을 할당합니다. 이는 문서에서 찾고자 하는 스타일의 이름으로 변경해야 합니다.

rng 변수는 찾은 스타일을 적용한 부분을 저장할 범위(문단, 특정 텍스트 등)를 나타냅니다. doc.Content를 사용하면 전체 문서의 범위로 설정됩니다.

With 문을 사용하여 rng.Find의 프로퍼티를 설정한 후, .Execute 메소드를 호출하여 스타일을 찾는 작업을 수행합니다. .Execute 메소드는 스타일을 찾으면 True를 반환하며, 스타일을 찾을 때마다 반복문을 통해 원하는 작업을 수행할 수 있습니다.

실행 시, findStyle로 지정한 스타일의 부분을 찾게 됩니다. 작업을 모두 마치면 코드 실행이 종료됩니다.

마치며

지금까지 워드 문서에서 특정 스타일을 자동으로 찾는 VBA 코드를 소개해드렸습니다. VBA를 사용하면 다양한 작업들을 자동화할 수 있으니, 워드 문서 작업에 VBA를 응용해보세요! VBA는 조금 복잡할 수 있지만, 익숙해지면 매우 유용하게 사용할 수 있습니다. 이번 포스팅이 도움이 되셨길 바랍니다. 감사합니다!