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

2023. 7. 8. 14:25■ 칼퇴를 위한 VBA : 사례/- VBA for 워드

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

소개

워드 문서는 많은 문단으로 이루어져 있기 때문에 특정 문단을 분리하여 작업하고자 할 때가 있다. 이를 수동으로 하기에는 시간과 노력이 많이 소모되는 일이다. 따라서 VBA(Visual Basic for Applications) 코드를 이용하여 이러한 작업을 자동화할 수 있다. 이번 포스트에서는 워드 문서에서 특정 문단을 분리하는 VBA 코드를 소개하고자 한다.

VBA 코드 작성

Sub SeparateParagraphs()
    Dim doc As Document
    Dim i As Integer

    ' 현재 열린 문서 가져오기
    Set doc = ActiveDocument

    ' 문단 개수 만큼 반복
    For i = doc.Paragraphs.Count To 1 Step -1
        ' 문단 분리
        doc.Paragraphs(i).Range.Cut

        ' 새 문서 생성
        Documents.Add DocumentType:=wdNewBlankDocument

        ' 분리된 문단 붙여넣기
        Selection.Paste

        ' 새 문서 저장
        ActiveDocument.SaveAs2 "분리된문단_" & i & ".docx", wdFormatXMLDocument

        ' 새 문서 닫기
        ActiveWindow.Close
    Next i

    ' 작업 완료 메시지 출력
    MsgBox "문단 분리 작업이 완료되었습니다."
End Sub

코드 설명

이 코드는 현재 열린 워드 문서에서 문단을 분리하여 새로운 문서로 저장하는 작업을 자동화한다.

  1. 먼저 Set doc = ActiveDocument를 이용하여 현재 열린 워드 문서를 가져온다.
  2. For 루프를 사용하여 워드 문서의 문단 개수만큼 반복한다.
  3. doc.Paragraphs(i).Range.Cut를 이용하여 현재 문단을 분리한다.
  4. Documents.Add DocumentType:=wdNewBlankDocument를 이용하여 새로운 문서를 생성한다.
  5. Selection.Paste를 이용하여 분리된 문단을 새로운 문서에 붙여넣는다.
  6. ActiveDocument.SaveAs2 "분리된문단_" & i & ".docx", wdFormatXMLDocument를 이용하여 새로운 문서를 저장한다. 이때 파일 이름은 "분리된문단_숫자.docx" 형식으로 저장된다.
  7. ActiveWindow.Close를 이용하여 새로운 문서를 닫는다.
  8. 모든 문단에 대한 작업이 완료되면 "문단 분리 작업이 완료되었습니다."라는 메시지를 띄운다.

사용 방법

  1. 워드 문서를 열고 VBA 편집기를 열어준다. (ALT + F11을 눌러서 열 수 있다.)
  2. 새 모듈을 추가하고 위의 코드를 복사하여 붙여넣는다.
  3. 코드 실행을 위해 F5를 눌러준다.
  4. 워드 문서의 각 문단이 분리되어 새로운 문서로 저장된다.

위의 코드를 활용하면 워드 문서에서 특정 문단을 분리하여 작업할 수 있을 것이다. VBA 코드를 활용하면 반복되는 작업을 자동화하여 시간과 노력을 절약할 수 있다. 이번 포스트를 통해 여러분께 도움이 되었기를 바란다.