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

워드 문서에서 이미지 추출 자동화를 위한 VBA 코드

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

워드 문서에서 이미지 추출 자동화를 위한 VBA 코드

포스팅 목표: 워드 문서에서 이미지를 추출하는 작업을 자동화하기 위해 VBA 코드를 사용하는 방법을 알아보자.

1. VBA(Visual Basic for Applications)란?

VBA는 마이크로소프트 오피스 어플리케이션에서 사용되는 프로그래밍 언어로, 강력한 기능과 다양한 자동화 작업을 제공한다. 워드에서는 VBA를 사용하여 문서 내의 이미지를 추출하는 작업을 자동화할 수 있다.

2. 이미지 추출 자동화를 위한 VBA 코드 작성하기

워드 문서에서 이미지를 추출하는 작업을 자동화하기 위해서는 다음과 같은 VBA 코드를 작성해야 한다.

Sub ImageExtraction()
    Dim doc As Document
    Dim img As InlineShape
    Dim i As Integer

    Set doc = ActiveDocument
    i = 1

    For Each img In doc.InlineShapes
        If img.Type = wdInlineShapeEmbeddedOLEObject Or img.Type = wdInlineShapeLinkedOLEObject Then
            img.Select
            Selection.Copy
            
            ' 이미지를 원하는 경로에 저장하는 코드 추가(Optional)
            ' SavePicture 옵션을 사용하여 이미지를 저장할 수 있습니다.
            ' 예시: Selection.ShapeRange(1).PictureFormat.SavePictureAs "C:\Images\Image" & i & ".png"
            
            i = i + 1
        End If
    Next img
End Sub

위의 코드는 워드 문서에서 인라인 이미지를 추출하는 VBA 매크로이다. 코드의 주석을 참고하여 각 라인의 역할을 이해해보자.

3. VBA 코드를 워드에 삽입하고 실행하기

  • 워드 문서를 열고, Alt + F11 을 눌러 VBA 편집기를 실행한다.
  • VBA 편집기 화면에서, 프로젝트 창에서 워드 문서를 선택한다.
  • 삽입 → 모듈 을 선택하여 새 모듈을 추가한다.
  • 모듈에 작성한 VBA 코드를 복사하여 붙여넣고 저장한다.
  • VBA 편집기를 종료하고, 워드 문서로 돌아가서 Alt + F8 을 눌러 매크로 실행 대화상자를 열고 ImageExtraction 매크로를 실행한다.
  • 실행 결과, 워드 문서에 있는 모든 인라인 이미지가 추출되어 자신이 지정한 경로에 자동으로 저장된다.

4. 추가 작업: 이미지 저장 경로 변경하기(Optional)

위의 VBA 코드에서 이미지를 저장하는 위치를 변경하려면, 코드의 주석부분에 있는 SavePictureAs 함수를 수정하면 된다. 다음은 이미지를 C:\Images 폴더에 Image1.png, Image2.png, ...과 같은 이름으로 저장하는 예시이다.

Selection.ShapeRange(1).PictureFormat.SavePictureAs "C:\Images\Image" & i & ".png"

자신이 원하는 경로와 파일명 포맷으로 수정하여 사용하면 된다.

마무리

이 글에서는 VBA를 사용하여 워드 문서에서 이미지를 추출하는 작업을 자동화하는 방법을 알아보았다. 이미지 추출 작업을 자주 수행하는 경우, VBA를 사용하여 작업을 자동화해 시간과 노력을 절약할 수 있다. VBA를 활용하여 자동화 작업을 진행해보고 자신의 업무 효율을 높여보자.