Class TableOfContents

目次

目次を含む要素。TableOfContents には ListItemParagraphTable 要素を含めることができますが、通常、TableOfContents の内容は Google ドキュメントによって自動的に生成されます。ドキュメント構造の詳細については、Google ドキュメントの拡張に関するガイドをご覧ください。

メソッド

メソッド戻り値の型概要
clear()TableOfContents要素の内容を消去します。
copy()TableOfContents現在の要素の切断されたディープコピーを返します。
editAsText()Text編集用に現在の要素の Text バージョンを取得します。
findElement(elementType)RangeElement要素の内容で、指定したタイプの子孫を検索します。
findElement(elementType, from)RangeElement指定された RangeElement から、指定されたタイプの子孫を要素の内容で検索します。
findText(searchPattern)RangeElement正規表現を使用して、要素のコンテンツで指定されたテキスト パターンを検索します。
findText(searchPattern, from)RangeElement指定された検索結果から、要素のコンテンツで指定されたテキスト パターンを検索します。
getAttributes()Object要素の属性を取得します。
getChild(childIndex)Element指定された子インデックスの子要素を取得します。
getChildIndex(child)Integer指定された子要素の子インデックスを取得します。
getLinkUrl()Stringリンクの URL を取得します。
getNextSibling()Element要素の次の兄弟要素を取得します。
getNumChildren()Integer子の数を取得します。
getParent()ContainerElement要素の親要素を取得します。
getPreviousSibling()Element要素の前の兄弟要素を取得します。
getText()String要素のコンテンツをテキスト文字列として取得します。
getTextAlignment()TextAlignmentテキストの配置を取得します。
getType()ElementType要素の ElementType を取得します。
isAtDocumentEnd()Boolean要素が Document の末尾にあるかどうかを判断します。
removeFromParent()TableOfContents要素を親から削除します。
replaceText(searchPattern, replacement)Element正規表現を使用して、指定したテキスト パターンのすべての出現を指定された置換文字列に置き換えます。
setAttributes(attributes)TableOfContents要素の属性を設定します。
setLinkUrl(url)TableOfContentsリンク URL を設定します。
setTextAlignment(textAlignment)TableOfContentsテキストの配置を設定します。

詳細なドキュメント

clear()

要素の内容を消去します。

戻る

TableOfContents - 現在の要素。


copy()

現在の要素の切断されたディープコピーを返します。

要素に存在する子要素もコピーされます。新しい要素に親がありません。

戻る

TableOfContents - 新しいコピー。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

editAsText()

編集用に現在の要素の Text バージョンを取得します。

要素の内容をリッチ テキストとして操作するには、editAsText を使用します。editAsText モードでは、テキスト以外の要素(InlineImageHorizontalRule など)は無視されます。

削除されたテキスト範囲に完全に含まれる子要素は、要素から削除されます。

const body =
    DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();

// Insert two paragraphs separated by a paragraph containing an
// horizontal rule.
body.insertParagraph(0, 'An editAsText sample.');
body.insertHorizontalRule(0);
body.insertParagraph(0, 'An example.');

// Delete " sample.\n\n An" removing the horizontal rule in the process.
body.editAsText().deleteText(14, 25);

戻る

Text - 現在の要素のテキスト バージョン


findElement(elementType)

要素の内容で、指定したタイプの子孫を検索します。

パラメータ

名前説明
elementTypeElementType検索する要素のタイプ。

戻る

RangeElement - 検索要素の位置を示す検索結果。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

findElement(elementType, from)

指定された RangeElement から、指定されたタイプの子孫を要素の内容で検索します。

const body =
    DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();

// Define the search parameters.

let searchResult = null;

// Search until the paragraph is found.
while (
    (searchResult = body.findElement(
         DocumentApp.ElementType.PARAGRAPH,
         searchResult,
         ))) {
  const par = searchResult.getElement().asParagraph();
  if (par.getHeading() === DocumentApp.ParagraphHeading.HEADING1) {
    // Found one, update and stop.
    par.setText('This is the first header.');
    break;
  }
}

パラメータ

名前説明
elementTypeElementType検索する要素のタイプ。
fromRangeElement検索結果から検索する検索結果。

戻る

RangeElement - 検索要素の次の位置を示す検索結果。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

findText(searchPattern)

正規表現を使用して、要素のコンテンツで指定されたテキスト パターンを検索します。

JavaScript 正規表現機能のサブセット(キャプチャ グループやモード修飾子など)は完全にはサポートされていません。

指定された正規表現パターンは、現在の要素に含まれる各テキスト ブロックと個別に照合されます。

パラメータ

名前説明
searchPatternString検索するパターン

戻る

RangeElement - 検索テキストの位置を示す検索結果。一致がない場合、null

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

findText(searchPattern, from)

指定された検索結果から、要素のコンテンツで指定されたテキスト パターンを検索します。

JavaScript 正規表現機能のサブセット(キャプチャ グループやモード修飾子など)は完全にはサポートされていません。

指定された正規表現パターンは、現在の要素に含まれる各テキスト ブロックと個別に照合されます。

パラメータ

名前説明
searchPatternString検索するパターン
fromRangeElement検索結果

戻る

RangeElement - 検索テキストの次の位置を示す検索結果。一致がない場合、null です。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

getAttributes()

要素の属性を取得します。

結果は、有効な要素属性ごとにプロパティを含むオブジェクトです。各プロパティ名は、DocumentApp.Attribute 列挙型の項目に対応しています。

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

// Append a styled paragraph.
const par = body.appendParagraph('A bold, italicized paragraph.');
par.setBold(true);
par.setItalic(true);

// Retrieve the paragraph's attributes.
const atts = par.getAttributes();

// Log the paragraph attributes.
for (const att in atts) {
  Logger.log(`${att}:${atts[att]}`);
}

戻る

Object - 要素の属性。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

getChild(childIndex)

指定された子インデックスの子要素を取得します。

const body =
    DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();

// Obtain the first element in the tab.
const firstChild = body.getChild(0);

// If it's a paragraph, set its contents.
if (firstChild.getType() === DocumentApp.ElementType.PARAGRAPH) {
  firstChild.asParagraph().setText('This is the first paragraph.');
}

パラメータ

名前説明
childIndexInteger取得する子要素のインデックス。

戻る

Element - 指定されたインデックスの子要素。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

getChildIndex(child)

指定された子要素の子インデックスを取得します。

パラメータ

名前説明
childElementインデックスを取得する子要素。

戻る

Integer - 子インデックス。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

getLinkUrl()

リンクの URL を取得します。

戻る

String - リンク URL。要素にこの属性の値が複数含まれている場合は null

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

getNextSibling()

要素の次の兄弟要素を取得します。

次の兄弟は同じ親を持ち、現在の要素の後に続く要素です。

戻る

Element - 次の兄弟要素。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

getNumChildren()

子の数を取得します。

const body =
    DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();

// Log the number of elements in the tab.
Logger.log(`There are ${body.getNumChildren()} elements in the tab's body.`);

戻る

Integer - 子の数。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

getParent()

要素の親要素を取得します。

親要素には現在の要素が含まれています。

戻る

ContainerElement - 親要素。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

getPreviousSibling()

要素の前の兄弟要素を取得します。

前の兄弟は同じ親を持ち、現在の要素の前に配置されています。

戻る

Element - 前の兄弟要素。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

getText()

要素のコンテンツをテキスト文字列として取得します。

戻る

String - 要素の内容(テキスト文字列)

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

getTextAlignment()

テキストの配置を取得します。使用できる配置のタイプは、DocumentApp.TextAlignment.NORMALDocumentApp.TextAlignment.SUBSCRIPTDocumentApp.TextAlignment.SUPERSCRIPT です。

戻る

TextAlignment - テキストの配置のタイプ。テキストに複数のタイプのテキストの配置が含まれている場合、またはテキストの配置が設定されていない場合は null

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

getType()

要素の ElementType を取得します。

getType() を使用して、特定の要素の正確な型を判断します。

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

// Obtain the first element in the active tab's body.

const firstChild = body.getChild(0);

// Use getType() to determine the element's type.
if (firstChild.getType() === DocumentApp.ElementType.PARAGRAPH) {
  Logger.log('The first element is a paragraph.');
} else {
  Logger.log('The first element is not a paragraph.');
}

戻る

ElementType - 要素のタイプ。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

isAtDocumentEnd()

要素が Document の末尾にあるかどうかを判断します。

戻る

Boolean - 要素がタブの末尾にあるかどうか。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

removeFromParent()

要素を親から削除します。

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

// Remove all images in the active tab's body.
const imgs = body.getImages();
for (let i = 0; i < imgs.length; i++) {
  imgs[i].removeFromParent();
}

戻る

TableOfContents - 削除された要素。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

replaceText(searchPattern, replacement)

正規表現を使用して、指定したテキスト パターンのすべての出現を指定された置換文字列に置き換えます。

検索パターンは、JavaScript 正規表現オブジェクトではなく、文字列として渡されます。そのため、パターン内のバックスラッシュをエスケープする必要があります。

このメソッドは Google の RE2 正規表現ライブラリを使用します。これにより、サポートされる構文が制限されます。

指定された正規表現パターンは、現在の要素に含まれる各テキスト ブロックに対して個別に照合されます。

const body =
    DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();

// Clear the text surrounding "Apps Script", with or without text.
body.replaceText('^.*Apps ?Script.*$', 'Apps Script');

パラメータ

名前説明
searchPatternString検索する正規表現パターン
replacementString置換として使用するテキスト

戻る

Element - 現在の要素

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

setAttributes(attributes)

要素の属性を設定します。

指定された attributes パラメータは、各プロパティ名が DocumentApp.Attribute 列挙型のアイテムで、各プロパティ値が適用される新しい値であるオブジェクトである必要があります。

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

// Define a custom paragraph style.
const style = {};
style[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] =
    DocumentApp.HorizontalAlignment.RIGHT;
style[DocumentApp.Attribute.FONT_FAMILY] = 'Calibri';
style[DocumentApp.Attribute.FONT_SIZE] = 18;
style[DocumentApp.Attribute.BOLD] = true;

// Append a plain paragraph.
const par = body.appendParagraph('A paragraph with custom style.');

// Apply the custom style.
par.setAttributes(style);

パラメータ

名前説明
attributesObject要素の属性。

戻る

TableOfContents - 現在の要素。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

setLinkUrl(url)

リンク URL を設定します。

パラメータ

名前説明
urlStringリンク URL

戻る

TableOfContents - 現在の要素

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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

setTextAlignment(textAlignment)

テキストの配置を設定します。使用できる配置のタイプは、DocumentApp.TextAlignment.NORMALDocumentApp.TextAlignment.SUBSCRIPTDocumentApp.TextAlignment.SUPERSCRIPT です。

// Make the entire first paragraph in the active tab be superscript.
const documentTab =
    DocumentApp.getActiveDocument().getActiveTab().asDocumentTab();
const text = documentTab.getBody().getParagraphs()[0].editAsText();
text.setTextAlignment(DocumentApp.TextAlignment.SUPERSCRIPT);

パラメータ

名前説明
textAlignmentTextAlignment適用するテキストの配置の種類

戻る

TableOfContents - 現在の要素

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

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