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

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

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

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