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

워드 VBA 코드를 활용한 문서 페이지 삽입 자동화

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

워드 VBA 코드를 활용한 문서 페이지 삽입 자동화

여러분은 워드 문서를 작성하다보면 반복되는 작업이 많이 발생합니다. 특히 문서에 여러 페이지를 삽입해야 하는 경우, 페이지를 일일이 추가하고 포맷팅하는 과정은 매우 번거롭습니다. 이러한 번거로운 작업을 자동화하는 방법 중 하나는 워드 VBA(Visual Basic for Applications) 코드를 활용하는 것입니다. VBA는 마이크로소프트 오피스 제품군에 포함된 프로그래밍 언어로, 워드 문서의 자동화 작업을 위해 많이 사용됩니다.

VBA를 활용한 페이지 삽입 자동화

VBA를 사용하여 워드 문서에 페이지를 자동으로 삽입하는 방법을 살펴보겠습니다. 먼저 VBA 에디터를 열어주세요. 워드 상에서 Alt + F11을 누르면 VBA 에디터가 열립니다.

1. 페이지 삽입 함수 생성

VBA 에디터에서 새로운 모듈을 생성하고, 아래 코드를 입력해주세요.

Public Sub InsertPages()
    Dim doc As Document
    Dim pageRange As Range
    Dim i As Integer

    ' 현재 활성 문서를 가져옴
    Set doc = ActiveDocument

    ' 페이지 삽입할 범위를 선택
    Set pageRange = Selection.Range

    ' 페이지 삽입 반복
    For i = 1 To 10
        ' 페이지 삽입
        doc.Bookmarks("\Page").Range.Copy
        pageRange.Collapse wdCollapseEnd
        pageRange.Paste

        ' 페이지 구분을 위한 페이지 번호 삽입
        pageRange.InsertAfter "Page " & i & vbCrLf

        ' 페이지 구분을 위한 구분선 삽입
        pageRange.InsertAfter String(doc.PageSetup.PageWidth / 6, "-") & vbCrLf

        ' 다음 페이지 삽입을 위해 범위 이동
        pageRange.Collapse wdCollapseEnd

        ' 페이지 간격 추가
        pageRange.InsertAfter vbCrLf & vbCrLf & vbCrLf
    Next i
End Sub

이 VBA 코드는 현재 활성화된 워드 문서에 10개의 페이지를 삽입하고, 각 페이지를 구분하는 번호와 구분선을 추가합니다. 페이지를 삽입할 범위는 현재 선택된 텍스트나 커서 위치에 따라 달라집니다.

2. 페이지 삽입 실행

VBA 에디터에서 코드를 작성한 후, F5를 눌러 코드를 실행할 수 있습니다. 또는, 워드 문서에서 코드를 실행하기 위해 개발자 탭의 매크로(Macro) 메뉴를 이용할 수도 있습니다. 코드를 실행하면 10개의 페이지가 자동으로 삽입됩니다.

VBA 코드 활용 예시

위 예시는 페이지 간격이 일정하고 페이지 구분이 필요한 경우에 적용할 수 있습니다. 하지만 상황에 따라 세부적인 조정이 필요할 수도 있습니다. 예를 들어, 페이지 간격을 조절하거나 페이지 구분을 한글로 변경하는 경우 등입니다. 이러한 경우에는 코드를 수정하여 원하는 결과를 얻을 수 있습니다.

결론

VBA를 사용하면 워드 문서 작업 과정을 자동화하여 효율성을 높일 수 있습니다. 페이지 삽입 자동화를 예로 들었지만, VBA는 워드에서 다양한 작업을 자동화하는데 유용하게 사용될 수 있습니다. VBA 코드 작성에 익숙하지 않은 경우에는 검색 엔진을 활용하여 찾아보고 워드 VBA에 대해 더 자세히 학습해보세요. 자동화된 문서 작업은 작업 시간을 줄이고 오류를 방지하는 등의 장점을 가지고 있으며, 더 나은 작업 환경을 제공할 수 있습니다.