Class Document

문서

하나 이상의 Tab 객체를 포함하는 문서이며, 각 Tab 객체에는 리치 텍스트와 표, 목록과 같은 요소가 포함됩니다.

DocumentApp를 사용하여 문서를 열거나 만들 수 있습니다.

// Open a document by ID.
let doc = DocumentApp.openById('<my-id>');

// Create and open a document.
doc = DocumentApp.create('Document Title');

텍스트 콘텐츠에 직접 액세스하고 수정하는 Document 클래스의 메서드는 활성 탭 (특정 문서에 결합된 스크립트의 경우) 또는 첫 번째 탭 (활성 탭을 사용할 수 없는 경우)에서 작동합니다. 이러한 메서드를 사용하는 스크립트 (예: getBody())는 getTabs()Tab.asDocumentTab()를 사용하여 탭을 지원하도록 이전할 수 있습니다.

메서드

메서드반환 유형간략한 설명
addBookmark(position)Bookmark지정된 PositionBookmark를 첫 번째 탭에 추가하거나 문서에 결합된 스크립트의 경우 활성 탭에 추가합니다.
addEditor(emailAddress)Document지정된 사용자를 Document의 편집자 목록에 추가합니다.
addEditor(user)Document지정된 사용자를 Document의 편집자 목록에 추가합니다.
addEditors(emailAddresses)Document지정된 사용자 배열을 Document의 편집자 목록에 추가합니다.
addFooter()FooterSection바닥글 섹션이 없는 경우 첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에 바닥글 섹션을 추가합니다.
addHeader()HeaderSection헤더 섹션이 없는 경우 첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에 헤더 섹션을 추가합니다.
addNamedRange(name, range)NamedRange나중에 검색하는 데 사용할 이름과 ID가 있는 RangeNamedRange를 첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에 추가합니다.
addViewer(emailAddress)Document지정된 사용자를 Document의 시청자 목록에 추가합니다.
addViewer(user)Document지정된 사용자를 Document의 시청자 목록에 추가합니다.
addViewers(emailAddresses)Document지정된 사용자 배열을 Document의 시청자 목록에 추가합니다.
getActiveTab()Tab문서에서 현재 활성 상태인 사용자의 Tab를 가져옵니다.
getAs(contentType)Blob현재 Document 콘텐츠를 지정된 유형의 blob으로 검색합니다.
getBlob()Blob현재 Document 콘텐츠를 blob으로 검색합니다.
getBody()Body첫 번째 탭의 Body를 가져오거나 문서에 결합된 스크립트의 경우 활성 탭의 DocumentBodySection를 가져옵니다.
getBookmark(id)Bookmark첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에서 지정된 ID의 Bookmark를 가져옵니다.
getBookmarks()Bookmark[]첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에 있는 모든 Bookmark 객체를 가져옵니다.
getCursor()Position활성 탭에서 사용자의 커서를 가져옵니다.
getEditors()User[]Document의 편집자 목록을 가져옵니다.
getFooter()FooterSection첫 번째 탭의 바닥글 섹션을 가져오거나 문서에 결합된 스크립트의 경우 활성 탭의 바닥글 섹션을 가져옵니다.
getFootnotes()Footnote[]첫 번째 탭의 본문 또는 문서에 바인딩된 스크립트의 경우 활성 탭의 본문에 있는 모든 Footnote 요소를 가져옵니다.
getHeader()HeaderSection첫 번째 탭의 헤더 섹션을 검색하거나 문서에 결합된 스크립트의 경우 활성 탭의 헤더 섹션을 검색합니다.
getId()String문서의 고유 식별자를 검색합니다.
getLanguage()String문서의 언어 코드를 가져옵니다.
getName()String문서의 제목을 검색합니다.
getNamedRangeById(id)NamedRange첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에서 지정된 ID의 NamedRange를 가져옵니다.
getNamedRanges()NamedRange[]첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에 있는 모든 NamedRange 객체를 가져옵니다.
getNamedRanges(name)NamedRange[]첫 번째 탭 또는 문서에 바인딩된 스크립트의 경우 활성 탭에서 지정된 이름의 모든 NamedRange 객체를 가져옵니다.
getSelection()Range활성 탭에서 사용자의 선택사항을 가져옵니다.
getSupportedLanguageCodes()String[]Google Docs 파일에서 지원되는 모든 언어 코드를 가져옵니다.
getTab(tabId)Tab지정된 ID의 Tab를 가져옵니다.
getTabs()Tab[]문서의 일부인 중첩되지 않은 모든 Tab를 가져옵니다.
getUrl()String현재 문서에 액세스할 URL을 검색합니다.
getViewers()User[]Document의 시청자 및 댓글 작성자 목록을 가져옵니다.
newPosition(element, offset)Position첫 번째 탭의 특정 요소 또는 문서에 결합된 스크립트의 경우 활성 탭을 기준으로 탭의 위치를 참조하는 새 Position를 만듭니다.
newRange()RangeBuilder첫 번째 탭의 탭 요소 또는 문서에 바인딩된 스크립트의 경우 활성 탭에서 Range 객체를 생성하는 데 사용되는 빌더를 만듭니다.
removeEditor(emailAddress)DocumentDocument의 편집자 목록에서 지정된 사용자를 삭제합니다.
removeEditor(user)DocumentDocument의 편집자 목록에서 지정된 사용자를 삭제합니다.
removeViewer(emailAddress)DocumentDocument의 시청자 및 댓글 작성자 목록에서 지정된 사용자를 삭제합니다.
removeViewer(user)DocumentDocument의 시청자 및 댓글 작성자 목록에서 지정된 사용자를 삭제합니다.
saveAndClose()void현재 Document를 저장합니다.
setActiveTab(tabId)void현재 문서에서 사용자가 선택한 Tab를 지정된 ID가 있는 탭으로 설정합니다.
setCursor(position)DocumentPosition를 사용하여 사용자의 커서를 설정합니다.
setLanguage(languageCode)Document문서의 언어 코드를 설정합니다.
setName(name)Document문서 제목을 설정합니다.
setSelection(range)DocumentRange를 사용하여 활성 탭에서 사용자의 선택을 설정합니다.

자세한 문서

addBookmark(position)

지정된 PositionBookmark를 첫 번째 탭에 추가하거나 문서에 결합된 스크립트의 경우 활성 탭에 추가합니다. 탭에 북마크를 추가하려면 DocumentTab.addBookmark(position) 메서드를 사용합니다.

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById('123abc');

// Gets the active or first tab's body and adds a paragraph.
const paragraph = doc.getBody().appendParagraph('My new paragraph.');

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

// Adds a bookmark at the first character of the paragraph text.
const bookmark = doc.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

addEditor(emailAddress)

지정된 사용자를 Document의 편집자 목록에 추가합니다. 사용자가 이미 시청자 목록에 있는 경우 이 메서드는 사용자를 시청자 목록에서 승격합니다.

매개변수

이름유형설명
emailAddressString추가할 사용자의 이메일 주소입니다.

리턴

Document — 체이닝을 위한 이 Document

승인

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

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

addEditor(user)

지정된 사용자를 Document의 편집자 목록에 추가합니다. 사용자가 이미 시청자 목록에 있는 경우 이 메서드는 사용자를 시청자 목록에서 승격합니다.

매개변수

이름유형설명
userUser추가할 사용자의 표현입니다.

리턴

Document — 체이닝을 위한 이 Document

승인

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

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

addEditors(emailAddresses)

지정된 사용자 배열을 Document의 편집자 목록에 추가합니다. 이미 시청자 목록에 있는 사용자는 이 메서드에 의해 시청자 목록에서 승격됩니다.

매개변수

이름유형설명
emailAddressesString[]추가할 사용자의 이메일 주소 배열입니다.

리턴

Document — 체이닝을 위한 이 Document

승인

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

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

addFooter()

바닥글 섹션이 없는 경우 첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에 바닥글 섹션을 추가합니다. 탭에 바닥글 섹션을 추가하려면 DocumentTab.addFooter() 메서드를 사용합니다.

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById('123abc');

// Adds a footer to the document's active or first tab.
const footer = doc.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()

헤더 섹션이 없는 경우 첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에 헤더 섹션을 추가합니다. 탭에 헤더 섹션을 추가하려면 DocumentTab.addHeader() 메서드를 사용합니다.

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById('123abc');

// Adds a header to the document's active or first tab.
const header = doc.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를 첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에 추가합니다. 탭에 NamedRange를 추가하려면 DocumentTab.addNamedRange(name, range) 메서드를 사용합니다. 이름은 반드시 고유하지 않아도 됩니다. HTML의 클래스와 마찬가지로 동일한 문서의 여러 범위가 동일한 이름을 공유할 수 있습니다. 반면 ID는 HTML의 ID와 같이 문서 내에서 고유합니다. 문서에 NamedRange를 추가한 후에는 수정할 수 없으며 삭제만 할 수 있습니다.

문서에 액세스하는 모든 스크립트는 NamedRange에 액세스할 수 있습니다. 스크립트 간에 의도치 않은 충돌을 방지하려면 범위 이름 앞에 고유한 문자열을 접두사로 지정하는 것이 좋습니다.

// Creates a named range that includes every table in the active tab.
const doc = DocumentApp.getActiveDocument();
const rangeBuilder = doc.newRange();
const tables = doc.getBody().getTables();
for (let i = 0; i < tables.length; i++) {
  rangeBuilder.addElement(tables[i]);
}
// Adds the named range to the document's active tab.
doc.addNamedRange('Document tables', rangeBuilder.build());

매개변수

이름유형설명
nameString범위의 이름입니다. 고유하지 않아도 되며 범위 이름은 1~256자(영문 기준)여야 합니다.
rangeRange이름과 연결할 요소 범위입니다. 범위는 활성 선택, 검색 결과 또는 newRange()로 수동으로 구성할 수 있습니다.

리턴

NamedRange: NamedRange입니다.

승인

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

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

addViewer(emailAddress)

지정된 사용자를 Document의 시청자 목록에 추가합니다. 사용자가 이미 편집자 목록에 있는 경우 이 메서드는 효과가 없습니다.

매개변수

이름유형설명
emailAddressString추가할 사용자의 이메일 주소입니다.

리턴

Document — 체이닝을 위한 이 Document

승인

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

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

addViewer(user)

지정된 사용자를 Document의 시청자 목록에 추가합니다. 사용자가 이미 편집자 목록에 있는 경우 이 메서드는 효과가 없습니다.

매개변수

이름유형설명
userUser추가할 사용자의 표현입니다.

리턴

Document — 체이닝을 위한 이 Document

승인

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

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

addViewers(emailAddresses)

지정된 사용자 배열을 Document의 시청자 목록에 추가합니다. 이미 편집자 목록에 있는 사용자에게는 이 메서드가 영향을 미치지 않습니다.

매개변수

이름유형설명
emailAddressesString[]추가할 사용자의 이메일 주소 배열입니다.

리턴

Document — 체이닝을 위한 이 Document

승인

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

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

getActiveTab()

문서에서 현재 활성 상태인 사용자의 Tab를 가져옵니다. 스크립트는 스크립트를 실행하는 사용자의 활성 탭에만 액세스할 수 있으며, 이때 스크립트가 문서에 바인딩되어 있어야 합니다.

// Display a dialog box that shows the title of the tab that the
// user is currently viewing.
const tab = DocumentApp.getActiveDocument().getActiveTab();
DocumentApp.getUi().alert(`ID of selected tab: ${tab.getTitle()}`);

리턴

Tab: 사용자의 현재 활성 Tab 또는 스크립트가 문서에 바인딩되지 않은 경우 null입니다.

승인

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

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

getAs(contentType)

현재 Document 콘텐츠를 지정된 유형의 blob으로 검색합니다.

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById('123abc');

// Gets the document as a PDF.
const pdf = doc.getAs('application/pdf');

// Logs the name of the PDF to the console.
console.log(pdf.getName());

매개변수

이름유형설명
contentTypeString변환할 MIME 유형입니다. 'application/pdf''text/markdown'가 지원됩니다.

리턴

Blob: 현재 문서를 blob로 나타냅니다.


getBlob()

현재 Document 콘텐츠를 blob으로 검색합니다.

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById('123abc');

// Retrieves the current document's contents as a blob and logs it to the
// console.
console.log(doc.getBlob().getContentType());

리턴

Blob: 현재 문서를 blob로 나타냅니다.


getBody()

첫 번째 탭의 Body를 가져오거나 문서에 결합된 스크립트의 경우 활성 탭의 DocumentBodySection를 가져옵니다. 탭의 DocumentBodySection를 가져오려면 DocumentTab.getBody() 메서드를 사용합니다.

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

Document의 요소 메서드는 활성 Body에 위임합니다.

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById('123abc');

// Gets the active or first tab's body.
const body = doc.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를 가져옵니다. 탭에서 북마크를 가져오려면 DocumentTab.getBookmark(id) 메서드를 사용합니다. 탭 내에 이러한 Bookmark가 없으면 이 메서드는 null를 반환합니다.

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById('123abc');

// Gets the bookmark by its ID in the document's active or first tab.
const bookmark = doc.getBookmark('id.xyz654321');

// If the bookmark exists, 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 또는 탭 내에 이러한 Bookmark가 없는 경우 null입니다.

승인

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

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

getBookmarks()

첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에 있는 모든 Bookmark 객체를 가져옵니다. 탭의 모든 북마크를 가져오려면 DocumentTab.getBookmarks() 메서드를 사용합니다.

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
const doc = DocumentApp.openById('123abc');

// Gets all of the bookmarks in the document's active or first tab.
const bookmarks = doc.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

getCursor()

활성 탭에서 사용자의 커서를 가져옵니다. 스크립트는 스크립트를 실행하는 사용자의 커서에만 액세스할 수 있으며, 스크립트가 문서에 바인딩된 경우에만 가능합니다.

// Insert some text at the cursor position and make it bold.
const cursor = DocumentApp.getActiveDocument().getCursor();
if (cursor) {
  // Attempt to insert text at the cursor position. If the insertion returns
  // null, the cursor's containing element doesn't allow insertions, so show the
  // user an error message.
  const element = cursor.insertText('ಠ‿ಠ');
  if (element) {
    element.setBold(true);
  } else {
    DocumentApp.getUi().alert('Cannot insert text here.');
  }
} else {
  DocumentApp.getUi().alert('Cannot find a cursor.');
}

리턴

Position: 사용자의 커서를 나타내거나, 사용자가 탭에 커서를 배치하지 않았거나 스크립트가 문서에 바인딩되지 않은 경우 null입니다.

승인

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

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

getEditors()

Document의 편집자 목록을 가져옵니다.

리턴

User[]: 수정 권한이 있는 사용자 배열입니다.

승인

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

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

getFooter()

첫 번째 탭의 바닥글 섹션을 가져오거나 문서에 결합된 스크립트의 경우 활성 탭의 바닥글 섹션을 가져옵니다. 탭의 바닥글 섹션을 가져오려면 DocumentTab.getFooter() 메서드를 사용합니다.

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById('123abc');

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

리턴

FooterSection: 탭의 바닥글입니다.

승인

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

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

getFootnotes()

첫 번째 탭의 본문 또는 문서에 바인딩된 스크립트의 경우 활성 탭의 본문에 있는 모든 Footnote 요소를 가져옵니다. 탭의 모든 각주를 가져오려면 DocumentTab.getFootnotes() 메서드를 사용합니다.

getFootnotes를 호출하면 탭의 요소가 반복됩니다. 탭이 큰 경우 이 메서드를 불필요하게 호출하지 마세요.

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById('123abc');

// Gets the first footnote in the active or first tab's body.
const footnote = doc.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()

첫 번째 탭의 헤더 섹션을 검색하거나 문서에 결합된 스크립트의 경우 활성 탭의 헤더 섹션을 검색합니다. 탭의 헤더 섹션을 가져오려면 DocumentTab.getHeader() 메서드를 사용합니다.

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById('123abc');

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

리턴

HeaderSection: 탭의 헤더입니다.

승인

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

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

getId()

문서의 고유 식별자를 검색합니다. 문서 ID는 DocumentApp.openById()와 함께 사용하여 특정 문서 인스턴스를 엽니다.

리턴

String: 문서의 ID입니다.

승인

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

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

getLanguage()

문서의 언어 코드를 가져옵니다. 문서 편집기의 파일 > 언어에 표시되는 언어로, 문서에 포함된 실제 언어가 아닐 수 있습니다.

리턴

String: 문서 언어 또는 정의되지 않은 경우 null입니다.

승인

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

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

getName()

문서의 제목을 검색합니다.

리턴

String: 문서 제목입니다.

승인

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

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

getNamedRangeById(id)

첫 번째 탭 또는 문서에 결합된 스크립트의 경우 활성 탭에서 지정된 ID의 NamedRange를 가져옵니다. 탭에서 지정된 ID의 NamedRange를 가져오려면 DocumentTab.getNamedRangeById(id) 메서드를 사용합니다. 탭에 이러한 NamedRange가 없으면 이 메서드는 null를 반환합니다. 이름은 탭 간에 고유하지 않아도 됩니다. 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 객체를 가져오려면 DocumentTab.getNamedRanges() 메서드를 사용하세요.

NamedRange는 탭에 액세스하는 모든 스크립트에서 액세스할 수 있습니다. 스크립트 간에 의도치 않은 충돌을 방지하려면 범위 이름 앞에 고유한 문자열을 접두사로 지정하는 것이 좋습니다.

리턴

NamedRange[]: 탭의 NamedRange 객체 배열로, 이름이 같은 여러 범위가 포함될 수 있습니다.

승인

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

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

getNamedRanges(name)

첫 번째 탭 또는 문서에 바인딩된 스크립트의 경우 활성 탭에서 지정된 이름의 모든 NamedRange 객체를 가져옵니다. 탭의 모든 NamedRange 객체를 가져오려면 DocumentTab.getNamedRanges(name) 메서드를 사용합니다. 이름은 탭 간에 고유하지 않아도 됩니다. HTML의 클래스와 마찬가지로 동일한 탭의 여러 범위가 동일한 이름을 공유할 수 있습니다. 반면 ID는 HTML의 ID와 같이 탭 내에서 고유합니다.

NamedRange는 문서에 액세스하는 모든 스크립트에서 액세스할 수 있습니다. 스크립트 간에 의도치 않은 충돌을 방지하려면 범위 이름 앞에 고유한 문자열을 접두사로 지정하는 것이 좋습니다.

매개변수

이름유형설명
nameString범위의 이름이며 고유하지 않아도 됩니다.

리턴

NamedRange[]: 지정된 이름의 탭에 있는 NamedRange 객체 배열입니다.

승인

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

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

getSelection()

활성 탭에서 사용자의 선택사항을 가져옵니다. 스크립트는 스크립트를 실행하는 사용자의 선택에만 액세스할 수 있으며, 스크립트가 문서에 바인딩된 경우에만 액세스할 수 있습니다.

// Display a dialog box that tells the user how many elements are included in
// the selection.
const selection = DocumentApp.getActiveDocument().getSelection();
if (selection) {
  const elements = selection.getRangeElements();
  DocumentApp.getUi().alert(`Number of selected elements: ${elements.length}`);
} else {
  DocumentApp.getUi().alert('Nothing is selected.');
}

리턴

Range — 사용자의 선택을 나타내거나, 사용자가 탭에서 아무것도 선택하지 않은 경우, 단락의 끝만 선택된 경우, 단락의 끝과 새 줄만 선택된 경우 또는 스크립트가 문서에 바인딩되지 않은 경우 null입니다.

승인

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

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

getSupportedLanguageCodes()

Google Docs 파일에서 지원되는 모든 언어 코드를 가져옵니다.

리턴

String[] - 언어 코드 배열입니다.

승인

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

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

getTab(tabId)

지정된 ID의 Tab를 가져옵니다. 이러한 Tab가 없으면 이 메서드는 null를 반환합니다. 모든 중첩 수준에서 탭에 액세스할 수 있습니다.

매개변수

이름유형설명
tabIdString가져올 탭의 ID입니다.

리턴

Tab: 지정된 ID의 Tab이거나 이러한 Tab가 없는 경우 null입니다.

승인

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

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

getTabs()

문서의 일부인 중첩되지 않은 모든 Tab를 가져옵니다.

탭에는 하위 탭(다른 탭 내에 중첩된 탭)이 포함될 수 있습니다. Tab.getChildTabs()를 사용하여 하위 탭에 액세스할 수 있습니다.

리턴

Tab[]: 문서에 포함된 모든 Tab의 목록입니다.

승인

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

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

getUrl()

현재 문서에 액세스할 URL을 검색합니다.

const doc = DocumentApp.getActiveDocument();

// Send out the link to open the document.
MailApp.sendEmail('<email-address>', doc.getName(), doc.getUrl());

리턴

String: 현재 문서에 액세스하는 URL입니다.

승인

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

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

getViewers()

Document의 시청자 및 댓글 작성자 목록을 가져옵니다.

리턴

User[]: 보기 또는 댓글 작성 권한이 있는 사용자 배열입니다.

승인

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

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

newPosition(element, offset)

첫 번째 탭의 특정 요소 또는 문서에 결합된 스크립트의 경우 활성 탭을 기준으로 탭의 위치를 참조하는 새 Position를 만듭니다. 탭의 위치를 기준으로 Position를 만들려면 DocumentTab.newPosition(element, offset) 메서드를 사용합니다. 사용자의 커서는 다른 용도 중에서도 Position로 표시됩니다.

// Append a paragraph to the active tab, then place the user's cursor after the
// first word of the new paragraph.
const doc = DocumentApp.getActiveDocument();
const paragraph = doc.getBody().appendParagraph('My new paragraph.');
const position = doc.newPosition(paragraph.getChild(0), 2);
doc.setCursor(position);

매개변수

이름유형설명
elementElementPosition를 포함해야 하는 요소입니다. Text 요소 또는 Paragraph과 같은 컨테이너 요소여야 합니다.
offsetIntegerText 요소의 경우 Position 앞에 있는 문자 수이고, 다른 요소의 경우 동일한 컨테이너 요소 내에서 Position 앞에 있는 하위 요소 수입니다.

리턴

Position: 새 Position입니다.

승인

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

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

newRange()

첫 번째 탭의 탭 요소 또는 문서에 바인딩된 스크립트의 경우 활성 탭에서 Range 객체를 생성하는 데 사용되는 빌더를 만듭니다. 탭의 탭 요소에서 DocumentRange 객체를 생성하는 데 사용되는 빌더를 만들려면 DocumentTab.newRange() 메서드를 사용하세요.

// Change the user's selection to a range that includes every table in the
// active tab.
const doc = DocumentApp.getActiveDocument();
const rangeBuilder = doc.newRange();
const tables = doc.getBody().getTables();
for (let 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

removeEditor(emailAddress)

Document의 편집자 목록에서 지정된 사용자를 삭제합니다. 이 메서드는 사용자가 일반 액세스 권한이 있는 사용자 클래스에 속하는 경우 Document에 액세스하는 것을 차단하지 않습니다. 예를 들어 Document가 사용자의 전체 도메인과 공유되거나 Document가 사용자가 액세스할 수 있는 공유 드라이브에 있는 경우입니다.

Drive 파일의 경우 이 작업으로 인해 사용자는 보기 권한 사용자 목록에서도 삭제됩니다.

매개변수

이름유형설명
emailAddressString삭제할 사용자의 이메일 주소입니다.

리턴

Document — 체이닝을 위한 이 Document

승인

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

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

removeEditor(user)

Document의 편집자 목록에서 지정된 사용자를 삭제합니다. 이 메서드는 사용자가 일반 액세스 권한이 있는 사용자 클래스에 속하는 경우 Document에 액세스하는 것을 차단하지 않습니다. 예를 들어 Document가 사용자의 전체 도메인과 공유되거나 Document가 사용자가 액세스할 수 있는 공유 드라이브에 있는 경우입니다.

Drive 파일의 경우 이 작업으로 인해 사용자는 보기 권한 사용자 목록에서도 삭제됩니다.

매개변수

이름유형설명
userUser삭제할 사용자의 표현입니다.

리턴

Document — 체이닝을 위한 이 Document

승인

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

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

removeViewer(emailAddress)

Document의 시청자 및 댓글 작성자 목록에서 지정된 사용자를 삭제합니다. 이 메서드는 시청자나 댓글 작성자가 아닌 편집자인 경우 영향을 미치지 않습니다. 또한 이 메서드는 사용자가 일반 액세스 권한이 있는 사용자 클래스에 속하는 경우에도 사용자가 Document에 액세스하는 것을 차단하지 않습니다. 예를 들어 Document가 사용자의 전체 도메인과 공유되거나 Document가 사용자가 액세스할 수 있는 공유 드라이브에 있는 경우를 들 수 있습니다.

Drive 파일의 경우 편집자 목록에서도 사용자가 삭제됩니다.

매개변수

이름유형설명
emailAddressString삭제할 사용자의 이메일 주소입니다.

리턴

Document: 체이닝을 위한 Document입니다.

승인

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

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

removeViewer(user)

Document의 시청자 및 댓글 작성자 목록에서 지정된 사용자를 삭제합니다. 이 메서드는 사용자가 보기 권한이 있는 시청자가 아닌 수정 권한이 있는 편집자인 경우 영향을 미치지 않습니다. 또한 이 메서드는 사용자가 일반 액세스 권한이 있는 사용자 클래스에 속하는 경우에도 사용자가 Document에 액세스하는 것을 차단하지 않습니다. 예를 들어 Document가 사용자의 전체 도메인과 공유되거나 Document가 사용자가 액세스할 수 있는 공유 드라이브에 있는 경우를 들 수 있습니다.

Drive 파일의 경우 편집자 목록에서도 사용자가 삭제됩니다.

매개변수

이름유형설명
userUser삭제할 사용자의 표현입니다.

리턴

Document: 체이닝을 위한 Document입니다.

승인

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

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

saveAndClose()

현재 Document를 저장합니다. 대기 중인 업데이트가 플러시되고 적용됩니다.

saveAndClose() 메서드는 수정 가능한 각 Document가 열려 있을 때 스크립트 실행이 끝날 때 자동으로 호출됩니다.

종료된 Document은(는) 수정할 수 없습니다. DocumentApp.openById()를 사용하여 수정할 특정 문서를 다시 엽니다.

승인

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

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

setActiveTab(tabId)

현재 문서에서 사용자가 선택한 Tab를 지정된 ID가 있는 탭으로 설정합니다.

const doc = DocumentApp.getActiveDocument();

// Sets the user's selected tab by its ID.
// TODO(developer): Replace the ID with your own.
const tab = doc.setActiveTab('123abc');

매개변수

이름유형설명
tabIdString활성 상태로 설정할 탭의 ID입니다.

승인

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

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

setCursor(position)

Position를 사용하여 사용자의 커서를 설정합니다. 스크립트는 스크립트를 실행하는 사용자의 커서에만 액세스할 수 있으며, 이때 스크립트가 문서에 바인딩되어 있어야 합니다.

비활성 Tab에서 Position를 제공하면 사용자의 활성 탭이 전환됩니다.

const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();

// Append a paragraph, then place the user's cursor after the first word of the
// new paragraph.
const paragraph = documentTab.getBody().appendParagraph('My new paragraph.');
const position = documentTab.newPosition(paragraph.getChild(0), 2);
doc.setCursor(position);

매개변수

이름유형설명
positionPosition새 커서 위치입니다.

리턴

Document — 체이닝을 위한 이 Document

승인

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

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

setLanguage(languageCode)

문서의 언어 코드를 설정합니다. 문서 편집기의 파일 > 언어에 표시되는 언어로, 문서에 포함된 실제 언어가 아닐 수 있습니다. getSupportedLanguageCodes()를 사용하여 유효한 언어 코드를 모두 가져옵니다.

매개변수

이름유형설명
languageCodeString언어 코드입니다.

리턴

Document — 체이닝을 위한 이 Document

승인

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

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

setName(name)

문서 제목을 설정합니다.

매개변수

이름유형설명
nameString새 문서 제목입니다.

리턴

Document: 현재 문서입니다.

승인

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

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

setSelection(range)

Range를 사용하여 활성 탭에서 사용자의 선택을 설정합니다. 스크립트는 스크립트를 실행하는 사용자의 선택에만 액세스할 수 있으며, 스크립트가 문서에 바인딩된 경우에만 가능합니다.

const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();

// Change the user's selection to a range that includes every table in the
// document.
const rangeBuilder = documentTab.newRange();
const tables = documentTab.getBody().getTables();
for (let i = 0; i < tables.length; i++) {
  rangeBuilder.addElement(tables[i]);
}
doc.setSelection(rangeBuilder.build());

매개변수

이름유형설명
rangeRange선택할 새 요소 범위입니다.

리턴

Document — 체이닝을 위한 이 Document

승인

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

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