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

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

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

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

워드 문서 작업 시 특정 문단을 숨기는 기능은 유용하게 활용될 수 있습니다. 예를 들어, 작업 문서의 내용 중에서 일부를 임시로 감추거나, 특정 조건을 만족하는 문단만 보여줄 때 유용하게 사용할 수 있습니다.

이러한 기능을 자동화하기 위해서는 VBA(Visual Basic for Applications) 코드를 활용하면 됩니다. VBA 코드를 통해 원하는 기능을 구현하고, 해당 코드를 추가하면 자동으로 작업 문서에서 문단을 숨길 수 있습니다.

VBA 코드를 통한 특정 문단 숨기기

아래는 VBA 코드를 사용하여 특정 문단을 숨기는 예시입니다. 아래 코드를 워드 문서에 추가하고 실행하면, "테스트 문단"이라는 내용이 있는 문단을 숨길 수 있습니다.

Sub HideParagraph()
    Dim para As Paragraph

    For Each para In ActiveDocument.Paragraphs
        If para.Range.Text = "테스트 문단" Then
            para.Range.Font.Hidden = True
        End If
    Next para
End Sub

위 코드를 실행하면, 문서 내에서 "테스트 문단"이라고 쓰인 문단이 숨겨집니다. 이 코드를 활용하여 원하는 문단을 가려낼 수 있습니다.

주의사항

  • 문단을 숨길 때는 Range.Font.Hidden 속성을 이용하여 숨김 여부를 설정합니다. True로 설정하면 문단이 숨겨지고, False로 설정하면 보이게 됩니다.
  • 코드를 실행하기 전에 문서를 저장하는 것이 좋습니다. 코드 실행 시 문서의 변경 사항이 자동으로 저장되므로, 필요한 경우 문서를 복원하기 어렵습니다.

VBA 코드의 활용

위 예시는 단순히 한 문단을 숨기는 예시였지만, VBA 코드를 활용해 더 복잡한 기능을 구현할 수도 있습니다. 예를 들어, 특정 조건을 만족하는 여러 문단을 한 번에 숨길 수도 있습니다.

아래는 사용자로부터 입력받은 텍스트와 일치하는 문단을 숨기는 VBA 코드입니다.

Sub HideParagraphByInput()
    Dim inputText As String
    Dim para As Paragraph

    inputText = InputBox("숨길 문단의 내용을 입력하세요.")

    For Each para In ActiveDocument.Paragraphs
        If InStr(para.Range.Text, inputText) > 0 Then
            para.Range.Font.Hidden = True
        End If
    Next para
End Sub

위 코드를 실행하면, InputBox를 통해 사용자로부터 텍스트를 입력받고, 해당 텍스트와 일치하는 문단을 숨길 수 있습니다.

마무리

VBA 코드를 활용하면 워드 문서에서 특정 문단을 숨기는 기능을 자동화할 수 있습니다. 특정 조건에 따라 문단을 숨기는 기능을 사용하면, 작업 효율성을 높일 수 있을 뿐만 아니라 문서의 가독성을 개선할 수 있습니다.

위 예시 코드를 참고하여 적절한 VBA 코드를 작성하고, 워드 문서에서 필요한 기능을 구현해보세요. 이를 통해 문서 작업에 편리함을 더할 수 있을 것입니다.