워드 그림 캡션 자동 업데이트 안됨 해결법(Word Figure Caption Auto Update)

이 글의 목적은 Microsoft Word에서 그림 캡션 번호가 자동 업데이트되지 않는 문제를 재현·원인분석·해결·예방 절차로 정리하여 현장에서 바로 적용할 수 있도록 돕는 것이다.

문제 정의와 범위

그림 캡션 자동 업데이트 실패는 캡션 번호의 불연속·중복·챕터연동 실패·도표목차 반영 누락·교차참조 미갱신 등의 현상으로 나타나는 오류를 말한다. 본 글은 Word 2016 이상 Microsoft 365까지의 공통 동작을 기준으로 설명하며, 기본 캡션 도구와 SEQ 필드, 교차참조, 도표목차(Table of Figures), 장 번호 연동을 포함한 전체 체계를 다룬다.

Word 캡션 시스템의 동작 원리

  • 캡션은 내부적으로 { SEQ } 필드가 삽입되어 순번을 생성한다.
  • 챕터 번호 연동은 { STYLEREF } 또는 문단 수준(Heading 스타일)의 번호체계를 참조한다.
  • 교차참조는 대상 캡션의 필드 ID를 참조하므로, 대상 필드가 잠기거나 삭제되면 끊어진다.
  • 도표목차는 { TOC \h \z \c "그림" } 유사 매개변수로 캡션 라벨을 수집한다.
  • 문서의 모든 필드는 Ctrl+AF9로 일괄 갱신한다. 머리글·바닥글·텍스트상자·각주·주석 등 스토리 범위는 별도 갱신이 필요하다.

대표 증상과 1차 점검 체크리스트

증상가능 원인즉시 점검·조치
번호 건너뜀 또는 중복 SEQ 필드 복제·삭제 이력, 필드 잠금, 텍스트상자 내부 필드 미갱신 Alt+F9로 필드코드 표시 후 { SEQ 그림 } 연속성 확인, Ctrl+Shift+F11로 필드 잠금 해제, 아래 VBA로 전 범위 갱신
챕터-그림 번호 연동 실패 Heading 번호체계 불일치, 캡션 라벨 “장 번호 포함” 해제, STYLEREF 대상 레벨 오류 Heading 1~n 다단계 목록 재지정, 캡션 옵션에서 “장 번호 포함” 활성화, 장 구분자 점(.) 등 통일
교차참조 값 미변경 참조 대상 이동·삭제, 필드 잠금, 추적 변경 미확정 Ctrl+AF9, 추적 변경 승인, 끊긴 교차참조 재삽입
도표목차에 일부 캡션 누락 텍스트상자·그림 캡션이 떠 있는 도형 내부, 스타일 예외, 라벨 불일치 그림 아래 일반 본문 위치에 캡션 배치, 동일 라벨 사용, 도표목차 업데이트
인쇄 시 번호만 변함 인쇄 전 필드만 갱신 설정 파일→옵션→표시의 관련 옵션 확인, 평시 수동 갱신 수행

정석 워크플로우: 올바른 캡션 체계 구축

  1. Heading 번호 체계부터 확정한다. 홈→다단계 목록→새 다단계 목록 정의에서 Heading 1, Heading 2를 레벨에 연결하고 장 번호 구분자(예: 점)를 지정한다.
  2. 그림 아래 커서를 두고 참조→캡션 삽입을 사용한다. 라벨은 “그림”으로 통일한다. 번호 매기기에서 “장 번호 포함”을 켠다.
  3. 교차참조는 참조→교차 참조에서 “그림”과 “전체 캡션” 또는 “레이블과 번호만”을 선택한다.
  4. 도표목차는 참조→그림 표 만들기로 생성한다. 라벨 필터가 “그림”인지 확인한다.
  5. 문서 편집 후 Ctrl+AF9로 본문 필드를 갱신하고, 머리글·바닥글에 커서를 두고 각각 한 번 더 F9를 수행한다.
주의 : 캡션을 수동 타이핑으로 입력하면 SEQ 필드가 생성되지 않으므로 자동 업데이트가 불가능하다. 반드시 “캡션 삽입”으로 생성해야 한다.

재현 기반 원인 분석 8가지

  1. 필드 잠금이다. Ctrl+F11은 필드 잠금을 설정한다. 해제는 Ctrl+Shift+F11이다.
  2. 텍스트상자·도형 내부 캡션이다. 도형 스토리 범위는 일반 갱신에 포함되지 않는다.
  3. Heading 계층 붕괴이다. 단순 굵게·크기 변경은 Heading으로 인식되지 않는다.
  4. 라벨 혼종이다. “그림”, “Figure”, “圖” 등 혼용 시 도표목차와 교차참조가 분리된다.
  5. 섹션 단위 번호 재시작이다. 섹션 나누기 후 번호가 1로 초기화될 수 있다.
  6. 추적 변경 미확정이다. 필드가 이동·삭제되었으나 변경 확정 전이라 참조가 꼬인다.
  7. 템플릿 스타일 자동 갱신이다. 외부 템플릿 연결로 스타일 정의가 바뀌면 STYLEREF 참조가 틀어진다.
  8. 복사·붙여넣기로 인한 필드 ID 충돌이다. 다른 문서에서 가져온 캡션이 순번을 어지럽힌다.

현장 절차: 빠른 복구 7단계

  1. 필드코드 표시이다. Alt+F9{ SEQ 그림 \* ARABIC } 연속 여부를 확인한다.
  2. 필드 잠금 해제이다. 캡션을 범위 지정하고 Ctrl+Shift+F11을 누른다.
  3. 라벨 통일이다. 라벨이 다르면 삭제 후 캡션 삽입으로 재작성한다.
  4. Heading 재설정이다. 제목 문단에 올바른 Heading 레벨을 적용하고 다단계 번호를 재연결한다.
  5. 교차참조 재삽입이다. 값이 텍스트로 굳어졌다면 삭제 후 교차참조로 다시 넣는다.
  6. 전 범위 필드 갱신이다. 아래 VBA 스크립트로 모든 스토리 범위를 일괄 갱신한다.
  7. 도표목차 갱신이다. 목차를 마우스 우클릭해 업데이트를 실행한다.

VBA로 모든 필드·도형·머리글·각주 일괄 갱신

매번 스토리 범위를 이동하며 갱신하는 수고를 줄이기 위해 다음 매크로를 사용한다.

' 모듈에 추가 Option Explicit
Sub UpdateAllFieldsEverywhere()
Dim s As Section
Dim sr As Range
Dim shp As Shape
Dim ils As InlineShape

' 본문과 표, 각주, 주석 등 모든 스토리 범위
Dim story As Range
For Each story In ActiveDocument.StoryRanges
    story.Fields.Update
    On Error Resume Next
    Do While Not (story.NextStoryRange Is Nothing)
        Set story = story.NextStoryRange
        story.Fields.Update
    Loop
    On Error GoTo 0
Next story

' 머리글/바닥글 내 필드
For Each s In ActiveDocument.Sections
    s.Headers(wdHeaderFooterPrimary).Range.Fields.Update
    s.Footers(wdHeaderFooterPrimary).Range.Fields.Update
Next s

' 인라인 그림 캡션이 들어간 도형·텍스트상자 범위
For Each shp In ActiveDocument.Shapes
    If shp.TextFrame.HasText Then shp.TextFrame.TextRange.Fields.Update
Next shp

For Each ils In ActiveDocument.InlineShapes
    If ils.HasChart Then ils.Chart.ChartArea.Select ' 강제 터치로 링크 갱신 유발
Next ils
End Sub
주의 : 회사 보안 정책상 매크로 실행이 제한될 수 있다. 신뢰할 수 있는 위치에 문서를 두거나 서명된 매크로를 사용해야 한다.

챕터 번호 연동 고장 수리 절차

  1. 문서의 최상위 제목에 Heading 1을 적용하고 다단계 목록에서 “수준 1에 Heading 1 연결”을 확인한다.
  2. 캡션 삽입 대화상자에서 번호 매기기장 번호 포함을 선택한다. “장 시작 스타일”은 Heading 1로 맞춘다.
  3. 장 구분자(예: 점)와 숫자 형식을 확정한다. 예시는 “1.1 그림 1” 형태이다.
  4. 섹션 구분이 있는 문서는 각 섹션 시작에서 다단계 목록 연속 번호가 유지되는지 확인한다.
  5. 필드코드로 확인 시 { STYLEREF 1 \s }.{ SEQ 그림 \* ARABIC } 유사 구조가 보이면 정상이다.

끊긴 교차참조 정비

  1. 교차참조 텍스트를 선택하고 Alt+F9로 코드 확인 후 대상 북마크가 살아 있는지 본다.
  2. 대상 캡션을 클릭했을 때 캡션 전체가 하나의 문단으로 있어야 한다. 줄바꿈으로 분리되어 있으면 재삽입한다.
  3. 교차참조는 참조→교차 참조에서 “레이블과 번호만”을 권장한다. 장 번호 변경에도 안정적으로 동작한다.

도표목차가 누락되는 경우의 처리

  • 라벨 표기는 반드시 동일해야 한다. “그림”과 “Figure”를 혼용하지 않는다.
  • 캡션은 그림과 같은 페이지의 본문 흐름 안에 배치한다. 도형 내부는 수집 실패 가능성이 높다.
  • 스타일이 캡션 스타일과 분리되어 있으면 수집되지 않을 수 있다. 기본 “캡션” 스타일을 유지한다.

템플릿·복붙으로 발생하는 순번 충돌 해결

  1. 외부 문서에서 가져온 캡션은 삭제 후 해당 위치에서 새로 “캡션 삽입”한다.
  2. 대량 수리는 찾기/바꾸기에서 와일드카드와 “필드”를 활용한다. 불가피하면 매크로로 SEQ 필드를 재생성한다.

필드 업데이트 자동화 설정

  • 파일→옵션→표시에서 “인쇄 전에 필드 업데이트”는 켜 두되, 편집 중에는 수동 일괄 갱신을 병행한다.
  • 고급에서 “문서 열기 시 연결 업데이트”는 환경에 맞게 조정한다. 외부 링크가 많으면 지연이 발생한다.

품질 보증용 점검 항목

항목체크 방법합격 기준빈도
SEQ 연속성Alt+F9로 필드코드 확인모든 캡션이 동일 라벨·연속 번호제출 전 1회
챕터 연동Heading 변경 후 일괄 갱신장 번호 변경 시 캡션 즉시 반영장 추가 시
교차참조 유효성각 교차참조 클릭 이동모두 대상 캡션으로 점프제출 전 1회
도표목차 수집목차 업데이트캡션 수와 도표목차 항목 수 일치제출 전 1회
스토리 범위 갱신VBA 매크로 실행머리글·도형 포함 0개 누락최종본

자주 묻는 실무 질문

FAQ

번호가 갑자기 1로 초기화된다. 어떻게 하나?

섹션 나누기 또는 Heading 체계 붕괴 가능성이 크다. 다단계 목록에서 Heading 1 연결을 복원하고, 캡션 번호 매기기에서 장 번호 포함을 재확인한 후 전체 필드를 갱신한다.

교차참조가 텍스트처럼 굳어졌다. 복구가 가능한가?

불가능하다. 대상 문구를 삭제하고 교차참조로 다시 삽입해야 한다. 향후에는 필드 잠금을 피하고, 추적 변경을 수시로 확정한다.

그림이 텍스트상자 안에 있어도 자동 업데이트가 되게 할 수 있나?

가능하다. 본문 흐름에 캡션을 두고, 텍스트상자 내부 필드는 VBA로 별도 갱신한다. 상단의 매크로를 사용한다.

라벨을 “Figure”에서 “그림”으로 바꾸면 기존 교차참조는 유지되나?

대부분 재삽입이 필요하다. 라벨 체계 변경은 참조 문자열에도 영향을 준다. 도표목차 필터도 다시 맞춘다.

문서 열 때마다 번호가 변한다. 정상인가?

외부 연결 갱신과 인쇄 전 필드 갱신 옵션 때문일 수 있다. 옵션을 점검하고, 제출 직전 한 번만 일괄 갱신한다.

실패 방지 모범 사례

  • 캡션은 반드시 캡션 삽입으로 생성한다.
  • 라벨 표준을 프로젝트 시작 시 확정한다.
  • Heading 구조는 다단계 목록으로 통제한다.
  • 그림은 본문에 고정하고 캡션을 그림 바로 아래 둔다.
  • 최종 인쇄 또는 PDF 만들기 직전에 전 범위 필드 갱신을 수행한다.
  • 협업 시 추적 변경을 주기적으로 승인하여 참조 단절을 예방한다.

문제 해결 스크립트 추가 예시: SEQ 재시드

번호가 난파되었을 때 특정 구간의 SEQ 번호를 재시작하는 간단 예시이다.

Sub ReseedFigureSEQ() Dim rng As Range Set rng = Selection.Range ' 선택 구간의 모든 SEQ "그림" 번호를 0에서 다시 시작 rng.Fields.ToggleShowCodes With rng.Find .ClearFormatting: .Replacement.ClearFormatting .Text = "SEQ 그림" .Replacement.Text = "SEQ 그림 \r 0" .Forward = True: .Wrap = wdFindStop: .Format = False .MatchCase = False: .MatchWildcards = False End With rng.Find.Execute Replace:=wdReplaceAll rng.Fields.ToggleShowCodes ActiveDocument.Fields.Update End Sub 
주의 : 재시드 스크립트는 단순 치환 예시이다. 실제 문서에 적용하기 전 복사본에서 테스트해야 한다.

요약

워드 그림 캡션 자동 업데이트 실패는 대부분 필드 잠금, 스토리 범위 미갱신, Heading 구조 붕괴, 라벨 불일치에서 발생한다. 정석 워크플로우를 준수하고 전 범위 필드 갱신 매크로를 도입하면 실무에서 재발을 사실상 차단할 수 있다.