본문으로 건너뛰기

Word.Document

Word.Document은 Word 모듈(Office.word(iframe))의 객체 타입입니다. 메서드 37개.

비고

  • 모듈: Word · Office.word(iframe) · 네임스페이스 Word
  • 얻는 방법: app.getDocument() (루트 핸들). Office.word(iframe)이 반환하는 앱 핸들에서 얻습니다. 문서 메서드는 앱 핸들이 아니라 이 핸들에 있습니다.
  • 모든 메서드는 Promise를 반환하며, 시그니처는 TypeScript 표기입니다.

메서드

메서드설명
acceptChangeTrackings()문서 전체의 변경 추적 항목을 일괄 수락한다.
download()문서를 원본 형식으로 내려받는다.
getBody()문서 본문의 콘텐츠 영역을 반환한다.
getBookmark(name)지정한 이름의 책갈피를 반환한다.
getBookmarks(includeHidden)문서의 책갈피 목록을 반환한다.
getChangeTracking(id)지정한 ID의 변경 추적 항목을 반환한다.
getChangeTrackings()문서 전체의 변경 추적 항목 목록을 문서 순서로 반환한다.
getChart(shapeId)지정한 ID의 차트를 반환한다.
getCharts(options)문서의 차트 목록을 반환한다.
getComment(commentId)지정한 ID의 댓글을 반환한다.
getComments()문서의 댓글 목록을 반환한다.
getEndnotes()문서의 미주 목록을 문서 순서로 반환한다.
getFootnotes()문서의 각주 목록을 문서 순서로 반환한다.
getHyperlink(hyperlinkId)지정한 ID의 하이퍼링크를 반환한다.
getHyperlinks(options)문서(또는 특정 영역)의 하이퍼링크 목록을 반환한다.
getNote(noteId)지정한 ID의 각주·미주를 반환한다.
getNotes()문서의 각주·미주 목록을 문서 순서로 반환한다.
getParagraph(paragraphId)지정한 ID의 단락을 반환한다.
getRange(options)지정한 좌표(RangeData)의 범위를 반환하며, 인자 없이 부르면 본문 전체 범위를 반환한다.
getSection(index)지정한 인덱스의 구역을 반환한다.
getSections()문서의 구역 목록을 문서 순서로 반환한다.
getSelection()현재 선택 영역을 반환한다.
getShape(shapeId)지정한 ID의 도형을 반환한다.
getShapes(options)문서의 도형 목록을 반환한다.
getStyle(style)지정한 키의 스타일을 반환한다.
getStyles()문서에 정의된 스타일 목록을 반환한다.
getTable(tableId)지정한 ID의 표를 반환한다.
isChangeTrackingEnabled()변경 추적(track changes)이 켜져 있는지 반환한다.
print()현재 문서를 인쇄한다.
rejectChangeTrackings()문서 전체의 변경 추적 항목을 일괄 거부한다.
save()문서를 저장한다.
setBackgroundColor(color)문서(용지) 배경색을 설정하거나 제거한다.
setChangeTracking(enabled)변경 추적(track changes)을 켜거나 끈다.
setEvenAndOddHeaders(enabled)문서 전체의 홀수·짝수 페이지에 서로 다른 머리글·바닥글을 사용하도록 설정한다.
setFormattingMarks(visible)서식 기호(단락 기호·공백·탭 등)를 모두 표시하거나 숨긴다.
setPageNumber(area, options)머리글·바닥글에 페이지 번호를 설정하거나 제거한다.
setZoom(mode)보기 배율을 바꾼다.

메서드 상세

acceptChangeTrackings()

문서 전체의 변경 추적 항목을 일괄 수락한다.

acceptChangeTrackings(): Promise<{ processedCount: number; remainingCount: number; failedIds: string[] }>;

반환값

Promise<{ processedCount: number; remainingCount: number; failedIds: string[] }> - 처리 결과

download()

문서를 원본 형식으로 내려받는다.

download(): Promise<void>;

반환값

none

getBody()

문서 본문의 콘텐츠 영역을 반환한다. - 본문의 텍스트·구조 조회와 단락·표 삽입에 사용한다.

getBody(): Promise<Body>;

반환값

Promise<Body> - 본문 body

getBookmark(name)

지정한 이름의 책갈피를 반환한다. - 삭제/이동/존재/정보 등 대상별 동작의 진입점이다.

getBookmark(name: string): Promise<Bookmark>;

매개변수

이름타입설명
namestring책갈피 이름

반환값

Promise<Bookmark> - 책갈피 객체

getBookmarks(includeHidden)

문서의 책갈피 목록을 반환한다.

getBookmarks(includeHidden?: boolean): Promise<Bookmark[]>;

매개변수

이름타입설명
includeHidden (선택)booleantrue 면 숨김 책갈피("_" 접두사)도 포함 (기본값: false)

반환값

Promise<Bookmark[]> - 책갈피 목록(없으면 빈 배열)

getChangeTracking(id)

지정한 ID의 변경 추적 항목을 반환한다.

getChangeTracking(id: string): Promise<WordChangeTracking>;

매개변수

이름타입설명
idstring변경 추적 항목 ID

반환값

Promise<WordChangeTracking> - 변경 추적 객체

getChangeTrackings()

문서 전체의 변경 추적 항목 목록을 문서 순서로 반환한다.

getChangeTrackings(): Promise<WordChangeTracking[]>;

반환값

Promise<WordChangeTracking[]> - 변경 추적 목록

getChart(shapeId)

지정한 ID의 차트를 반환한다.

getChart(shapeId: string): Promise<WordChart>;

매개변수

이름타입설명
shapeIdstring차트 도형 ID (getCharts / getShapes 로 획득)

반환값

Promise<WordChart> - 차트 객체

getCharts(options)

문서의 차트 목록을 반환한다.

getCharts(options?: { storyId?: string; anchorParagraphId?: string }): Promise<WordChart[]>;

매개변수

이름타입설명
options (선택){ storyId?: string; anchorParagraphId?: string }목록 필터
options.storyId (선택)string대상 영역 ID(기본값: 본문) (기본값: "0")
options.anchorParagraphId (선택)string앵커 단락 필터(기본값: 전체) (기본값: all)

반환값

Promise<WordChart[]> - 차트 목록(없으면 빈 배열)

getComment(commentId)

지정한 ID의 댓글을 반환한다.

getComment(commentId: string): Promise<WordComment>;

매개변수

이름타입설명
commentIdstring댓글 ID

반환값

Promise<WordComment> - 댓글 객체

getComments()

문서의 댓글 목록을 반환한다.

getComments(): Promise<WordComment[]>;

반환값

Promise<WordComment[]> - 댓글 목록

getEndnotes()

문서의 미주 목록을 문서 순서로 반환한다.

getEndnotes(): Promise<WordNote[]>;

반환값

Promise<WordNote[]> - 미주 목록

getFootnotes()

문서의 각주 목록을 문서 순서로 반환한다.

getFootnotes(): Promise<WordNote[]>;

반환값

Promise<WordNote[]> - 각주 목록

지정한 ID의 하이퍼링크를 반환한다.

getHyperlink(hyperlinkId: string): Promise<Hyperlink>;

매개변수

이름타입설명
hyperlinkIdstring하이퍼링크 ID (range.insertHyperlink / getHyperlinks 로 획득)

반환값

Promise<Hyperlink> - 하이퍼링크 객체

문서(또는 특정 영역)의 하이퍼링크 목록을 반환한다.

getHyperlinks(options?: { storyId?: string; anchorParagraphId?: string }): Promise<Hyperlink[]>;

매개변수

이름타입설명
options (선택){ storyId?: string; anchorParagraphId?: string }목록 필터
options.storyId (선택)string대상 영역 ID(생략 시 본문) (기본값: "0")
options.anchorParagraphId (선택)string지정한 단락에서 시작하는 링크만(기본값: 영역 전체) (기본값: whole area)

반환값

Promise<Hyperlink[]> - 하이퍼링크 목록(없으면 빈 배열)

getNote(noteId)

지정한 ID의 각주·미주를 반환한다.

getNote(noteId: string): Promise<WordNote>;

매개변수

이름타입설명
noteIdstring각주/미주 영역 ID

반환값

Promise<WordNote> - note 객체

getNotes()

문서의 각주·미주 목록을 문서 순서로 반환한다.

getNotes(): Promise<WordNote[]>;

반환값

Promise<WordNote[]> - 각주·미주 목록

getParagraph(paragraphId)

지정한 ID의 단락을 반환한다. - 단락이 속한 영역(본문/머리글/바닥글)을 자동으로 찾아 연결하므로, 머리글/바닥글 단락도 본문과 동일하게 서식·편집할 수 있다.

getParagraph(paragraphId: string): Promise<Paragraph>;

매개변수

이름타입설명
paragraphIdstring단락 ID

반환값

Promise<Paragraph> - 단락 객체(영역 자동 연결)

getRange(options)

지정한 좌표(RangeData)의 범위를 반환하며, 인자 없이 부르면 본문 전체 범위를 반환한다.
단락이 속한 영역(본문/머리글/바닥글)을 자동으로 찾아 연결하므로, 머리글/바닥글 단락의 paragraphId 를 넘겨도 본문과 동일하게 다룰 수 있다.
인자를 생략한 호출은 getBody().getRange(RangePosition.WHOLE) 의 단축이다. 범위는 한 영역 안에만 존재하므로 본문만 해당하고 머리글·바닥글·각주는 포함하지 않는다.
좌표를 넘길 때는 startParaId 가 필요하다. startParaId 없는 options 객체는 즉시 거부하므로, 키 이름을 잘못 써서 본문 전체가 되는 일은 없다.
영역 맨앞/맨끝은 getBody().getRange(RangePosition.START/END), 선택은 getSelection() 으로 얻는다.

getRange(options?: RangeData): Promise<Range>;

매개변수

이름타입설명
options (선택)RangeData좌표 범위 정보. 생략하면 본문 전체 (기본값: whole body)

반환값

Promise<Range> - 범위 객체

getSection(index)

지정한 인덱스의 구역을 반환한다. - 구역의 본문·머리글·바닥글 조회와 페이지 설정에 사용한다.

getSection(index?: number): Promise<Section>;

매개변수

이름타입설명
index (선택)number구역 인덱스(0부터 시작하는, 문서 순서. 0=첫 구역) (기본값: 0)

반환값

Promise<Section> - 구역 객체(인덱스 검증은 머리글/바닥글/페이지설정 호출 시점)

getSections()

문서의 구역 목록을 문서 순서로 반환한다.

getSections(): Promise<Section[]>;

반환값

Promise<Section[]> - 구역 목록(없으면 빈 배열)

getSelection()

현재 선택 영역을 반환한다. - 선택한 내용이 없으면 커서 위치의 빈 범위를 반환한다.

getSelection(): Promise<Range>;

반환값

Promise<Range> - 선택 영역 범위

getShape(shapeId)

지정한 ID의 도형을 반환한다. - 이미지·차트·일반 도형의 종류에 맞는 객체를 반환한다.

getShape(shapeId: string): Promise<Shape>;

매개변수

이름타입설명
shapeIdstring도형 ID (getShapes / insertShape 으로 획득)

반환값

Promise<Shape> - 도형 객체 (그림 → WordImage, 차트 → WordChart)

getShapes(options)

문서의 도형 목록을 반환한다. - 글자처럼 배치한 도형과 글 앞·뒤에 배치한 도형을 모두 포함한다.

getShapes(options?: { storyId?: string; type?: ShapeType; anchorParagraphId?: string }): Promise<Shape[]>;

매개변수

이름타입설명
options (선택){ storyId?: string; type?: ShapeType; anchorParagraphId?: string }목록 필터
options.storyId (선택)string대상 영역 ID(기본값: 본문) (기본값: "0")
options.type (선택)ShapeType도형 종류 필터(기본값: 전체 종류) (기본값: all types)
options.anchorParagraphId (선택)string앵커 단락 필터(기본값: 전체) (기본값: all)

반환값

Promise<Shape[]> - 도형 목록(그림은 WordImage, 차트는 WordChart, 없으면 빈 배열)

getStyle(style)

지정한 키의 스타일을 반환한다. - 스타일 정보와 정의된 서식을 조회하거나 수정할 때 사용한다.

getStyle(style: Style | string): Promise<WordStyle>;

매개변수

이름타입설명
styleStyle | string내장 스타일은 Style enum(값=키), 커스텀 문서 스타일은 getStyles() 의 style 값(예 "heading_1"/"strong")

반환값

Promise<WordStyle> - 스타일 객체

getStyles()

문서에 정의된 스타일 목록을 반환한다.

getStyles(): Promise<WordStyle[]>;

반환값

Promise<WordStyle[]> - 스타일 목록(없으면 빈 배열)

getTable(tableId)

지정한 ID의 표를 반환한다. - 표가 속한 영역(본문/머리글/바닥글/텍스트박스)을 자동으로 찾아 연결하므로, 그 영역의 표도 동일하게 다룰 수 있다.

getTable(tableId: string): Promise<Table>;

매개변수

이름타입설명
tableIdstring표 ID

반환값

Promise<Table> - 표 객체(영역 자동 연결)

isChangeTrackingEnabled()

변경 추적(track changes)이 켜져 있는지 반환한다.

isChangeTrackingEnabled(): Promise<boolean>;

반환값

Promise<boolean> - 켜져 있으면 true, 꺼져 있으면 false

print()

현재 문서를 인쇄한다.
데스크톱 Chrome·Edge에서는 브라우저 인쇄를 사용하고, 그 외 환경에서는 PDF로 변환해 내려받는다.
인쇄가 비활성화된 문서에서는 아무 작업도 수행하지 않는다.

print(): Promise<void>;

반환값

none

rejectChangeTrackings()

문서 전체의 변경 추적 항목을 일괄 거부한다.

rejectChangeTrackings(): Promise<{ processedCount: number; remainingCount: number; failedIds: string[] }>;

반환값

Promise<{ processedCount: number; remainingCount: number; failedIds: string[] }> - 처리 결과

save()

문서를 저장한다. - 편집된 내용이 없거나 저장이 이미 진행 중이면 무동작이다.

save(): Promise<void>;

반환값

none

setBackgroundColor(color)

문서(용지) 배경색을 설정하거나 제거한다.

setBackgroundColor(color: string | null): Promise<void>;

매개변수

이름타입설명
colorstring | null배경색("#RRGGBB"). null 또는 빈 문자열이면 배경색을 제거한다.

반환값

none

setChangeTracking(enabled)

변경 추적(track changes)을 켜거나 끈다. - 켜면 이후 편집이 삽입/삭제/서식 변경으로 추적되고, 끄면 일반 편집으로 돌아간다(이미 기록된 추적 내용은 유지).

setChangeTracking(enabled: boolean): Promise<void>;

매개변수

이름타입설명
enabledbooleantrue 면 켜기, false 면 끄기

반환값

none

setEvenAndOddHeaders(enabled)

문서 전체의 홀수·짝수 페이지에 서로 다른 머리글·바닥글을 사용하도록 설정한다.

setEvenAndOddHeaders(enabled: boolean): Promise<void>;

매개변수

이름타입설명
enabledbooleantrue 면 켜기, false 면 끄기

반환값

none

setFormattingMarks(visible)

서식 기호(단락 기호·공백·탭 등)를 모두 표시하거나 숨긴다.

setFormattingMarks(visible: boolean): Promise<void>;

매개변수

이름타입설명
visiblebooleantrue 면 표시, false 면 숨김

반환값

none

setPageNumber(area, options)

머리글·바닥글에 페이지 번호를 설정하거나 제거한다.
영역이 없으면 자동 생성하고, 기존 페이지 번호는 교체한다.
remove가 true이면 페이지 번호 단락만 제거한다. 영역이나 번호가 없으면 변경하지 않는다.

setPageNumber(
area: PageNumberArea,
options?: { align?: PageNumberAlign; variant?: HeaderFooterVariant; sectionIndex?: number; remove?: boolean }
): Promise<void>;

매개변수

이름타입설명
areaPageNumberArea대상 영역(header/footer)
options (선택){ align?: PageNumberAlign; variant?: HeaderFooterVariant; sectionIndex?: number; remove?: boolean }페이지 번호 설정
options.align (선택)PageNumberAlign정렬(left/center/right). remove:true 면 무시 (기본값: PageNumberAlign.LEFT)
options.variant (선택)HeaderFooterVariant머리글/바닥글 종류(default/first/even) (기본값: HeaderFooterVariant.DEFAULT)
options.sectionIndex (선택)number0부터 시작하는 구역 인덱스(0=첫 구역) (기본값: 0)
options.remove (선택)booleantrue 면 페이지 번호 제거(align 무시) (기본값: false)

반환값

none

setZoom(mode)

보기 배율을 바꾼다.

setZoom(mode: ZoomMode): Promise<void>;

매개변수

이름타입설명
modeZoomMode배율 프리셋(50~200%)·맞춤(fitWidth/fitInWindow)·단계(zoomIn/zoomOut)

반환값

none