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>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
name | string | 책갈피 이름 |
반환값
Promise<Bookmark> - 책갈피 객체
getBookmarks(includeHidden)
문서의 책갈피 목록을 반환한다.
getBookmarks(includeHidden?: boolean): Promise<Bookmark[]>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
includeHidden (선택) | boolean | true 면 숨김 책갈피("_" 접두사)도 포함 (기본값: false) |
반환값
Promise<Bookmark[]> - 책갈피 목록(없으면 빈 배열)
getChangeTracking(id)
지정한 ID의 변경 추적 항목을 반환한다.
getChangeTracking(id: string): Promise<WordChangeTracking>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
id | string | 변경 추적 항목 ID |
반환값
Promise<WordChangeTracking> - 변경 추적 객체
getChangeTrackings()
문서 전체의 변경 추적 항목 목록을 문서 순서로 반환한다.
getChangeTrackings(): Promise<WordChangeTracking[]>;
반환값
Promise<WordChangeTracking[]> - 변경 추적 목록
getChart(shapeId)
지정한 ID의 차트를 반환한다.
getChart(shapeId: string): Promise<WordChart>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
shapeId | string | 차트 도형 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>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
commentId | string | 댓글 ID |
반환값
Promise<WordComment> - 댓글 객체
getComments()
문서의 댓글 목록을 반환한다.
getComments(): Promise<WordComment[]>;
반환값
Promise<WordComment[]> - 댓글 목록
getEndnotes()
문서의 미주 목록을 문서 순서로 반환한다.
getEndnotes(): Promise<WordNote[]>;
반환값
Promise<WordNote[]> - 미주 목록
getFootnotes()
문서의 각주 목록을 문서 순서로 반환한다.
getFootnotes(): Promise<WordNote[]>;
반환값
Promise<WordNote[]> - 각주 목록
getHyperlink(hyperlinkId)
지정한 ID의 하이퍼링크를 반환한다.
getHyperlink(hyperlinkId: string): Promise<Hyperlink>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
hyperlinkId | string | 하이퍼링크 ID (range.insertHyperlink / getHyperlinks 로 획득) |
반환값
Promise<Hyperlink> - 하이퍼링크 객체
getHyperlinks(options)
문서(또는 특정 영역)의 하이퍼링크 목록을 반환한다.
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>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
noteId | string | 각주/미주 영역 ID |
반환값
Promise<WordNote> - note 객체
getNotes()
문서의 각주·미주 목록을 문서 순서로 반환한다.
getNotes(): Promise<WordNote[]>;
반환값
Promise<WordNote[]> - 각주·미주 목록
getParagraph(paragraphId)
지정한 ID의 단락을 반환한다. - 단락이 속한 영역(본문/머리글/바닥글)을 자동으로 찾아 연결하므로, 머리글/바닥글 단락도 본문과 동일하게 서식·편집할 수 있다.
getParagraph(paragraphId: string): Promise<Paragraph>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
paragraphId | string | 단락 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>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
shapeId | string | 도형 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>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
style | Style | string | 내장 스타일은 Style enum(값=키), 커스텀 문서 스타일은 getStyles() 의 style 값(예 "heading_1"/"strong") |
반환값
Promise<WordStyle> - 스타일 객체
getStyles()
문서에 정의된 스타일 목록을 반환한다.
getStyles(): Promise<WordStyle[]>;
반환값
Promise<WordStyle[]> - 스타일 목록(없으면 빈 배열)
getTable(tableId)
지정한 ID의 표를 반환한다. - 표가 속한 영역(본문/머리글/바닥글/텍스트박스)을 자동으로 찾아 연결하므로, 그 영역의 표도 동일하게 다룰 수 있다.
getTable(tableId: string): Promise<Table>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
tableId | string | 표 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>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
color | string | null | 배경색("#RRGGBB"). null 또는 빈 문자열이면 배경색을 제거한다. |
반환값
none
setChangeTracking(enabled)
변경 추적(track changes)을 켜거나 끈다. - 켜면 이후 편집이 삽입/삭제/서식 변경으로 추적되고, 끄면 일반 편집으로 돌아간다(이미 기록된 추적 내용은 유지).
setChangeTracking(enabled: boolean): Promise<void>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
enabled | boolean | true 면 켜기, false 면 끄기 |
반환값
none
setEvenAndOddHeaders(enabled)
문서 전체의 홀수·짝수 페이지에 서로 다른 머리글·바닥글을 사용하도록 설정한다.
setEvenAndOddHeaders(enabled: boolean): Promise<void>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
enabled | boolean | true 면 켜기, false 면 끄기 |
반환값
none
setFormattingMarks(visible)
서식 기호(단락 기호·공백·탭 등)를 모두 표시하거나 숨긴다.
setFormattingMarks(visible: boolean): Promise<void>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
visible | boolean | true 면 표시, false 면 숨김 |
반환값
none
setPageNumber(area, options)
머리글·바닥글에 페이지 번호를 설정하거나 제거한다.
영역이 없으면 자동 생성하고, 기존 페이지 번호는 교체한다.
remove가 true이면 페이지 번호 단락만 제거한다. 영역이나 번호가 없으면 변경하지 않는다.
setPageNumber(
area: PageNumberArea,
options?: { align?: PageNumberAlign; variant?: HeaderFooterVariant; sectionIndex?: number; remove?: boolean }
): Promise<void>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
area | PageNumberArea | 대상 영역(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 (선택) | number | 0부터 시작하는 구역 인덱스(0=첫 구역) (기본값: 0) |
options.remove (선택) | boolean | true 면 페이지 번호 제거(align 무시) (기본값: false) |
반환값
none
setZoom(mode)
보기 배율을 바꾼다.
setZoom(mode: ZoomMode): Promise<void>;
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
mode | ZoomMode | 배율 프리셋(50~200%)·맞춤(fitWidth/fitInWindow)·단계(zoomIn/zoomOut) |
반환값
none