본문 바로가기
■ 칼퇴 관련 자료 모음/- 퇴근까지 버티기

워드 VBA 코드를 사용한 문서 찾기 및 바꾸기 자동화

by 포탈메이커 2023. 8. 20.

워드 VBA 코드를 사용한 문서 찾기 및 바꾸기 자동화

워드(VBA: Visual Basic for Applications)는 마이크로소프트 워드의 내부 프로그래밍 언어로, 사용자가 작업을 자동화하고 반복적인 작업을 효율적으로 처리할 수 있도록 도와주는 도구입니다. 이번 포스팅에서는 워드 VBA 코드를 사용하여 문서를 찾고 바꾸는 자동화 기능을 구현하는 방법을 알아보겠습니다.

1. 문서 찾기 기능 구현

  • Find 메소드를 사용하여 특정 텍스트나 패턴을 검색할 수 있습니다.
  • 아래는 워드 VBA 코드를 사용하여 특정 문서에서 "찾을 단어"를 찾는 예제입니다.

```vba Sub FindText() Dim findWord As String findWord = "찾을 단어"

With ActiveDocument.Content.Find
    .Text = findWord
    .Execute
End With

End Sub ```

  • findWord 변수에 찾을 단어를 지정하고, With 문을 사용하여 Content에서 findWord를 찾습니다.
  • Execute 메소드를 호출하여 검색을 실행합니다.

2. 문서 바꾸기 기능 구현

  • Find 메소드와 Replace 메소드를 함께 사용하여 문서의 특정 텍스트를 다른 텍스트로 바꿀 수 있습니다.
  • 아래는 워드 VBA 코드를 사용하여 특정 문서에서 "찾을 단어"를 "바꿀 단어"로 바꾸는 예제입니다.

```vba Sub ReplaceText() Dim findWord As String Dim replaceWord As String findWord = "찾을 단어" replaceWord = "바꿀 단어"

With ActiveDocument.Content.Find
    .Text = findWord
    .Replacement.Text = replaceWord
    .Execute Replace:=wdReplaceAll
End With

End Sub ```

  • replaceWord 변수에 바꿀 단어를 지정하고, Replacement 속성을 사용하여 findWordreplaceWord로 바꿉니다.
  • Execute 메소드의 Replace 매개변수 값을 wdReplaceAll로 설정하여 모든 발생을 바꿉니다.

3. 자동화하기 위한 매크로 버튼 추가

  • 워드의 사용자 지정 탭에 버튼을 추가하여 자동화 기능을 실행할 수 있습니다.
  • 아래는 워드 VBA 코드를 사용하여 매크로 버튼을 추가하는 예제입니다.

```vba Sub AddMacroButton() Dim newButton As CommandBarButton

Set newButton = CommandBars("Menu Bar").Controls.Add(Type:=msoControlButton, before:=1)

newButton.Style = msoButtonCaption
newButton.Caption = "자동화"
newButton.OnAction = "RunAutomation"

End Sub

Sub RunAutomation() ' 실행할 자동화 코드 입력 ' ... End Sub ```

  • AddMacroButton 서브루틴에서 CommandBarButton 개체를 생성하고 버튼의 속성을 설정합니다.
  • RunAutomation 서브루틴은 버튼이 클릭되면 실행될 자동화 코드를 작성합니다.

마치며

이번 포스팅에서는 워드 VBA 코드를 사용하여 문서 찾기 및 바꾸기 자동화 기능을 소개했습니다. 워드 VBA는 워드 문서 작업을 자동화하고 생산성을 향상시키는 강력한 도구입니다. 이 기능을 응용하여 복잡하고 반복적인 작업을 자동화할 수 있으니, 업무 효율성을 높이기 위해 VBA를 활용해보는 것을 추천합니다.