Class DocumentTab

DocumentTab

서식 있는 텍스트와 요소(표 및 목록 등)가 포함된 문서 탭

Document.getTabs()[tabIndex].asDocumentTab()를 사용하여 문서 탭을 검색합니다.

// Get a specific document tab based on the tab ID.
// TODO(developer): Replace the IDs with your own.
var documentTab = DocumentApp.openById(DOCUMENT_ID).getTab(TAB_ID).asDocumentTab();

메서드

메서드반환 유형간략한 설명
addBookmark(position)Bookmark지정된 PositionBookmark를 추가합니다.
addFooter()FooterSection탭 바닥글 섹션이 없는 경우 추가합니다.
addHeader()HeaderSection탭 헤더 섹션이 없는 경우 추가합니다.
addNamedRange(name, range)NamedRange다음에 사용할 이름과 ID가 있는 RangeNamedRange를 추가합니다. 있습니다.
getBody()Body탭의 Body를 검색합니다.
getBookmark(id)Bookmark지정된 ID가 있는 Bookmark를 가져옵니다.
getBookmarks()Bookmark[]탭의 모든 Bookmark 객체를 가져옵니다.
getFooter()FooterSection탭의 바닥글 섹션이 있는 경우 해당 섹션을 검색합니다.
getFootnotes()Footnote[]탭 본문에서 모든 Footnote 요소를 검색합니다.
getHeader()HeaderSection탭의 헤더 섹션이 있는 경우 검색합니다.
getNamedRangeById(id)NamedRange지정된 ID가 있는 NamedRange를 가져옵니다.
getNamedRanges()NamedRange[]탭의 모든 NamedRange 객체를 가져옵니다.
getNamedRanges(name)NamedRange[]탭에서 지정된 이름의 모든 NamedRange 객체를 가져옵니다.
newPosition(element, offset)Position탭의 위치를 가리키는 새 Position를 만듭니다. 이 객체는 지정할 수 있습니다.
newRange()RangeBuilder탭 요소에서 Range 객체를 구성하는 데 사용되는 빌더를 만듭니다.

자세한 문서

addBookmark(position)

지정된 PositionBookmark를 추가합니다.

// Opens the Docs file and retrieves the tab by its IDs. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab = DocumentApp.openById(DOCUMENT_ID).getTab(TAB_ID).asDocumentTab();

// Gets the tab body and adds a paragraph.
const paragraph = documentTab.getBody().appendParagraph('My new paragraph.');

// Creates a position at the first character of the paragraph text.
const position = documentTab.newPosition(paragraph.getChild(0), 0);

// Adds a bookmark at the first character of the paragraph text.
const bookmark = documentTab.addBookmark(position);

// Logs the bookmark ID to the console.
console.log(bookmark.getId());

매개변수

이름유형설명
positionPosition새 북마크의 위치입니다.

리턴

Bookmark - 새 북마크입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

addFooter()

탭 바닥글 섹션이 없는 경우 추가합니다.

// Opens the Docs file and retrieves the tab by its IDs. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab = DocumentApp.openById(DOCUMENT_ID).getTab(TAB_ID).asDocumentTab();

// Adds a footer to the tab.
const footer = documentTab.addFooter();

// Sets the footer text to 'This is a footer.'
footer.setText('This is a footer');

리턴

FooterSection - 탭 바닥글입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

addHeader()

탭 헤더 섹션이 없는 경우 추가합니다.

// Opens the Docs file and retrieves the tab by its IDs. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab = DocumentApp.openById(DOCUMENT_ID).getTab(TAB_ID).asDocumentTab();

// Adds a header to the tab.
const header = documentTab.addHeader();

// Sets the header text to 'This is a header.'
header.setText('This is a header');

리턴

HeaderSection - 탭 헤더입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

addNamedRange(name, range)

다음에 사용할 이름과 ID가 있는 RangeNamedRange를 추가합니다. 있습니다. 탭 간에도 이름이 반드시 고유하지는 않습니다. 여러 다양한 범위로 같은 문서가 HTML의 클래스와 마찬가지로 같은 이름을 공유할 수 있습니다. 반면에 ID는 고유 식별자(예: HTML의 ID)가 문서 내에서 고유해야 합니다. NamedRange를 추가한 후에는 다음을 할 수 없습니다. 삭제할 수만 있습니다.

탭에 액세스하는 모든 스크립트는 NamedRange에 액세스할 수 있습니다. 의도치 않은 상황을 방지하기 위해 충돌하지 않는 경우 범위 이름 앞에 고유한 문자열을 사용하는 것이 좋습니다.

// Creates a named range that includes every table in a tab by its ID.
// TODO(developer): Replace the IDs with your own.
var documentTab = DocumentApp.openById(DOCUMENT_ID).getTab(TAB_ID).asDocumentTab();
var rangeBuilder = documentTab.newRange();
var tables = documentTab.getBody().getTables();
for (var i = 0; i < tables.length; i++) {
  rangeBuilder.addElement(tables[i]);
}
documentTab.addNamedRange('Tab t.0 tables', rangeBuilder.build());

매개변수

이름유형설명
nameString범위의 이름으로, 고유하지 않아도 됩니다. 범위 이름은 입력할 수 있습니다.
rangeRange이름과 연결할 요소의 범위입니다. 범위는 검색 결과가 될 수도 있고 newRange()를 사용하여 수동으로 구성될 수도 있습니다.

리턴

NamedRange - NamedRange

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getBody()

탭의 Body를 검색합니다.

탭에는 다양한 유형의 섹션이 포함될 수 있습니다 (예: HeaderSection, FooterSection). 탭의 활성 섹션은 Body입니다.

DocumentTab의 요소 메서드는 Body에 위임됩니다.

// Opens the Docs file and retrieves the tab by its IDs. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab = DocumentApp.openById(DOCUMENT_ID).getTab(TAB_ID).asDocumentTab();

// Gets the tab body.
const body = documentTab.getBody();

// Gets the body text and logs it to the console.
console.log(body.getText());

리턴

Body - 탭의 본문 섹션입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getBookmark(id)

지정된 ID가 있는 Bookmark를 가져옵니다. 이 탭에 이러한 Bookmark가 없으면 이 메서드는 null를 반환합니다.

// Opens the Docs file and retrieves the tab by its IDs. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab = DocumentApp.openById(DOCUMENT_ID).getTab(TAB_ID).asDocumentTab();

// Gets the bookmark by its ID.
const bookmark = documentTab.getBookmark('id.xyz654321');

// If the bookmark exists within the tab, logs the character offset of its position to the
// console. Otherwise, logs 'No bookmark exists with the given ID.' to the console.
if (bookmark) {
  console.log(bookmark.getPosition().getOffset());
} else {
  console.log('No bookmark exists with the given ID.');
}

매개변수

이름유형설명
idStringBookmark의 ID입니다.

리턴

Bookmark: 지정된 ID가 있는 Bookmark, 또는 없는 경우 null입니다. Bookmark 탭 내에 존재하는지 확인합니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getBookmarks()

탭의 모든 Bookmark 객체를 가져옵니다.

// Opens the Docs file and retrieves the tab by its IDs. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab = DocumentApp.openById(DOCUMENT_ID).getTab(TAB_ID).asDocumentTab();

// Gets all of the bookmarks in the tab.
const bookmarks = documentTab.getBookmarks();

// Logs the number of bookmarks in the tab to the console.
console.log(bookmarks.length);

리턴

Bookmark[] - 탭에 있는 Bookmark 객체의 배열입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getFooter()

탭의 바닥글 섹션이 있는 경우 해당 섹션을 검색합니다.

// Opens the Docs file and retrieves the tab by its IDs. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab = DocumentApp.openById(DOCUMENT_ID).getTab(TAB_ID).asDocumentTab();

// Gets the text of the tab's footer and logs it to the console.
console.log(documentTab.getFooter().getText());

리턴

FooterSection - 탭의 바닥글입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getFootnotes()

탭 본문에서 모든 Footnote 요소를 검색합니다.

getFootnotes를 호출하면 탭의 요소가 반복됩니다. 큰 탭의 경우 이 메서드에 대한 불필요한 호출을 피하세요.

// Opens the Docs file and retrieves the tab by its IDs. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab = DocumentApp.openById(DOCUMENT_ID).getTab(TAB_ID).asDocumentTab();

// Gets the first footnote.
const footnote = documentTab.getFootnotes()[0];

// Logs footnote contents to the console.
console.log(footnote.getFootnoteContents().getText());

리턴

Footnote[] - 탭의 각주입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getHeader()

탭의 헤더 섹션이 있는 경우 검색합니다.

// Opens the Docs file and retrieves the tab by its IDs. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab = DocumentApp.openById(DOCUMENT_ID).getTab(TAB_ID).asDocumentTab();

// Gets the text of the tab's header and logs it to the console.
console.log(documentTab.getHeader().getText());

리턴

HeaderSection - 탭의 헤더입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getNamedRangeById(id)

지정된 ID가 있는 NamedRange를 가져옵니다. 이 메서드가 없으면 null를 반환합니다. 탭에 NamedRange이(가) 있습니다. 탭 간에도 이름이 반드시 고유하지는 않습니다. 같은 문서에 있는 여러 다른 범위는 HTML을 선택합니다. 반대로 ID는 HTML의 ID처럼 탭 내에서 고유합니다.

매개변수

이름유형설명
idString범위 ID로, 탭 내에서 고유합니다.

리턴

NamedRange - 지정된 ID가 있는 NamedRange, 또는 이러한 범위가 없는 경우 null

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getNamedRanges()

탭의 모든 NamedRange 객체를 가져옵니다.

NamedRange는 탭에 액세스하는 모든 스크립트에서 액세스할 수 있습니다. 피해야 할 사항 스크립트 간에 의도하지 않은 충돌이 발생하면 고유한 문자열로 범위 이름 접두사를 사용해 보세요.

리턴

NamedRange[] - 탭에 있는 NamedRange 객체의 배열로, 여러 객체를 포함할 수 있습니다. 동일한 이름을 가진 범위들로 구성되어 있습니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getNamedRanges(name)

탭에서 지정된 이름의 모든 NamedRange 객체를 가져옵니다. 이름은 탭에서도 고유합니다. 같은 문서에서 서로 다른 여러 범위가 동일한 HTML의 클래스와 유사합니다. 반면에 ID는 탭 내에서 고유합니다(예: HTML을 선택합니다.

NamedRange는 탭에 액세스하는 모든 스크립트에서 액세스할 수 있습니다. 피해야 할 사항 스크립트 간에 의도하지 않은 충돌이 발생하면 고유한 문자열로 범위 이름 접두사를 사용해 보세요.

매개변수

이름유형설명
nameString범위의 이름으로, 반드시 고유하지는 않습니다.

리턴

NamedRange[] - 지정된 이름을 가진 탭의 NamedRange 객체의 배열입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

newPosition(element, offset)

탭의 위치를 가리키는 새 Position를 만듭니다. 이 객체는 지정할 수 있습니다. 사용자의 커서는 다양한 용도 중에서 Position로 표시됩니다.

// Append a paragraph, then place the user's cursor after the first word of the new paragraph.
// TODO(developer): Replace the IDs with your own.
var doc = DocumentApp.openById(DOCUMENT_ID);
var documentTab = doc.getTab(TAB_ID).asDocumentTab();
var paragraph = documentTab.getBody().appendParagraph('My new paragraph.');
var position = documentTab.newPosition(paragraph.getChild(0), 2);
doc.setCursor(position);

매개변수

이름유형설명
elementElement새로 만든 Position가 포함된 요소입니다. 이 값은 다음과 같아야 합니다. Text 요소 또는 Paragraph와 같은 컨테이너 요소.
offsetIntegerText 요소의 경우 Position 앞의 문자 수 다른 요소의 경우Position 동일한 컨테이너 요소를 사용합니다

리턴

Position - 새 Position입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

newRange()

탭 요소에서 Range 객체를 구성하는 데 사용되는 빌더를 만듭니다.

// Change the user's selection to a range that includes every table in the tab.
// TODO(developer): Replace the IDs with your own.
var doc = DocumentApp.openById(DOCUMENT_ID);
var documentTab = doc.getTab(TAB_ID).asDocumentTab();
var rangeBuilder = documentTab.newRange();
var tables = documentTab.getBody().getTables();
for (var i = 0; i < tables.length; i++) {
  rangeBuilder.addElement(tables[i]);
}
doc.setSelection(rangeBuilder.build());

리턴

RangeBuilder - 새 빌더입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents