워드 문서의 1페이지마다 사진(또는 사진 설명 포함)을 하나씩 일괄로 삽입하는 방법입니다. 

 

매크로 안쓰는 방법

1. 파워포인트에서 삽입 > 사진 앨범 기능으로 사진 100장 일괄 삽입

2. 다른이름으로 저장이나 내보내기에서 PDF로 저장

3. MS워드에서 PDF파일 불러오기 > 자동 변환

또는 아래와 같은 VBA를 이용할 수 있습니다.

 

ChatGPT코드를 활용하였으나 오류가 다수 발생하여 대폭 수정하였습니다.

 

더보기
Option Explicit

Sub InsertImagesCenteredOnEachPage()
    
    Dim imgFolder As String
    Dim imgFile As String
    Dim imgPath As String, sExt As String
    Dim doc As Document
    Dim shape As shape, ishp As InlineShape

    ' 이미지가 저장된 폴더 경로
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = ThisDocument.Path & "\"
        .AllowMultiSelect = False
        .ButtonName = "현재 폴더 선택"
        If .Show = -1 Then imgFolder = .SelectedItems(1)
    End With
    If imgFolder = "" Then Exit Sub
    
     ' 현재 문서 설정
    Set doc = ActiveDocument
    doc.Content.ParagraphFormat.Alignment = wdAlignParagraphCenter
    
    ' 폴더 내의 첫 번째 이미지 파일을 찾기
    imgFile = Dir(imgFolder & "\*.*")
    
    ' 이미지가 더 이상 없을 때까지 반복
    Do While Len(imgFile) > 0
    
        sExt = LCase(Right(imgFile, 4))
        If sExt = ".jpg" Or sExt = ".png" Or sExt = ".gif" Then
            imgPath = imgFolder & "\" & imgFile
            
            ' 이미지 삽입
            Set shape = doc.Shapes.AddPicture(FileName:=imgPath, LinkToFile:=False, SaveWithDocument:=True)
            
            ' 이미지 정렬
            shape.Name = imgFile
            shape.ConvertToInlineShape
            Set ishp = doc.InlineShapes(doc.InlineShapes.Count)
            With doc.PageSetup
                 ishp.LockAspectRatio = msoTrue
                 'ishp.Width = .PageWidth - .TopMargin - .BottomMargin - 50
                 ishp.Height = .PageHeight - .LeftMargin - .RightMargin - 50
            End With
            doc.Content.InsertAfter vbCrLf & imgFile & vbCrLf '파일명
            doc.Range(doc.Content.End - 1, doc.Content.End - 1).Select
            'doc.Content.InsertBreak wdPageBreak
        End If
        ' 다음 이미지 파일로 이동
        imgFile = Dir
    Loop
    
End Sub

 

Alt+F11 창에서 삽입 > 모듈을 눌러 모듈을 하나 추가한 후에 위 코드를 붙여넣고 코드창을 닫습니다.

 

Alt+F8로 실행하고 폴더를 선택하면 폴더 내의 모든 이미지 1장과 그 아래에 파일명을 삽입합니다.

 

미리 페이지 방향을 가로나 세로로 선택하고 실행하세요.

 

 

샘플파일 참고하세요.

 

페이지별사진삽입1.docm
0.02MB