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

워드 문서 내 특정 텍스트 찾기 및 바꾸기를 자동화하는 VBA 코드

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

워드 문서 내 특정 텍스트 찾기 및 바꾸기를 자동화하는 VBA 코드

많은 사람들이 워드 문서에서 특정 텍스트를 찾아서 다른 텍스트로 바꿔야 하는 경우가 있다. 이럴 때마다 일일이 수작업으로 찾아서 바꾸는 것은 매우 번거로운 일이다. 이러한 번거로움을 해결하기 위해 VBA(Virtual Basic for Applications) 코드를 사용하면 자동화된 텍스트 찾기 및 바꾸기 기능을 구현할 수 있다. 이제 VBA 코드를 사용하여 워드 문서 내의 특정 텍스트를 찾고 바꾸는 방법에 대해 알아보자.

1. VBA 프로젝트 열기

먼저, 워드 문서를 열고 [개발자 탭] - [Visual Basic]을 클릭하여 VBA 프로젝트를 열어야 한다.

2. VBA 코드 작성

VBA 프로젝트가 열리면 모듈 탭에서 새로운 모듈을 추가하고 아래의 코드를 작성한다.

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

    ' 찾을 텍스트 입력
    Dim findText As String
    findText = InputBox("찾을 텍스트를 입력하세요.")

    ' 바꿀 텍스트 입력
    Dim replaceText As String
    replaceText = InputBox("바꿀 텍스트를 입력하세요.")

    ' 텍스트 찾기 및 바꾸기
    With doc.Content.Find
        .Text = findText
        .Replacement.Text = replaceText
        .Execute Replace:=wdReplaceAll
    End With

    ' 결과 출력
    MsgBox "텍스트 찾기 및 바꾸기가 완료되었습니다."
End Sub

위의 코드는 FindAndReplace()라는 서브 프로시저를 정의하고, 찾을 텍스트와 바꿀 텍스트를 입력받은 뒤 해당 텍스트를 찾아서 바꾸는 기능을 구현한 것이다. With 문을 사용하여 doc.Content.Find 객체의 속성을 설정하고, Execute 메서드를 호출하여 텍스트를 찾고 바꾸는 작업을 수행한다.

3. 코드 실행

VBA 코드 작성이 완료되었다면, 코드를 실행해보자. VBA 편집기 창을 닫고, [개발자 탭] - [매크로]를 클릭하여 방금 작성한 FindAndReplace()를 실행할 수 있다. 또는, [개발자 탭] - [매크로] - [새로 만들기]를 클릭하여 단축키를 설정하여 코드를 실행할 수도 있다.

4. 텍스트 찾기 및 바꾸기

코드를 실행하면 찾을 텍스트와 바꿀 텍스트를 입력하는 창이 나타난다. 원하는 텍스트를 입력한 뒤 확인을 클릭하면 코드가 실행되고, 텍스트가 찾아져서 바뀌는 작업이 자동으로 수행된다. 작업이 완료되면 결과 메시지가 나타날 것이다.

이제 VBA 코드를 사용하여 워드 문서 내의 특정 텍스트를 자동으로 찾고 바꾸는 방법에 대해 알아보았다. 이 기능을 활용하면 텍스트를 일일이 찾아서 바꾸는 번거로움을 덜 수 있으니, 앞으로 VBA 코드로 자동화된 작업을 수행해보는 것을 추천한다.