リッチテキストと、テーブルやリストなどの要素を含むドキュメントタブ。
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 | 指定された Position に Bookmark を追加します。 |
addFooter() | FooterSection | タブのフッター セクションを追加します(存在しない場合)。 |
addHeader() | HeaderSection | タブヘッダー セクションを追加します(存在しない場合)。 |
addNamedRange(name, range) | NamedRange | NamedRange を追加します。これは、名前と ID を持つ Range です。
後で取得します。 |
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)
指定された Position
に 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 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());
パラメータ
名前 | 型 | 説明 |
---|---|---|
position | Position | 新しいブックマークの位置。 |
戻る
Bookmark
- 新しいブックマーク。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
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
- タブのヘッダー。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
addNamedRange(name, range)
NamedRange
を追加します。これは、名前と ID を持つ Range
です。
後で取得します。タブ間でも、名前が一意であるとは限りません。複数の異なる範囲を
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());
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | 範囲の名前。一意である必要はありません。範囲名は 1 ~ 256 文字にする必要があります。 |
range | Range | 名前に関連付ける要素の範囲。範囲は検索結果にすることも、newRange() を使用して手動で作成することもできます。 |
戻る
NamedRange
- NamedRange
。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
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
- タブの本文セクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
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.'); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
id | String | Bookmark の ID。 |
戻る
Bookmark
- 指定された ID を持つ Bookmark
。該当する Bookmark
がない場合は null
タブ内にあります。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
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
オブジェクトの配列。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
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[]
- タブの脚注。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
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
- タブのヘッダー。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getNamedRangeById(id)
指定された ID の NamedRange
を取得します。該当するものがない場合、このメソッドは null
を返します。
NamedRange
がタブに存在します。タブ間でも、名前が一意であるとは限りません。
クラスのように、同じドキュメント内の異なる範囲の複数の範囲が同じ名前を共有する場合がある
HTML一方、ID は HTML の ID のようにタブ内で一意です。
パラメータ
名前 | 型 | 説明 |
---|---|---|
id | String | 範囲の ID(タブ内で一意)。 |
戻る
NamedRange
- 指定された ID の NamedRange
。またはそのような範囲が存在しない場合は null
クリックします。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getNamedRanges()
タブ内のすべての NamedRange
オブジェクトを取得します。
NamedRange
には、タブにアクセスするすべてのスクリプトからアクセスできます。避けるべきこと
スクリプト間で意図しない競合が発生している場合は、範囲名の先頭に一意の文字列を付けることを検討してください。
戻る
NamedRange[]
- タブ内の NamedRange
オブジェクトの配列。複数のオブジェクトが含まれる場合もあります。
複数の範囲が含まれます。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getNamedRanges(name)
指定された名前のタブ内のすべての NamedRange
オブジェクトを取得します。名前は必ずしも
タブ間をまたいで一意です同じドキュメント内の複数の異なる範囲が、同じドキュメントや
HTML のクラスのようなものです。一方、ID はタブ内では一意です。たとえば、
HTML
NamedRange
には、タブにアクセスするすべてのスクリプトからアクセスできます。避けるべきこと
スクリプト間で意図しない競合が発生している場合は、範囲名の先頭に一意の文字列を付けることを検討してください。
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | 範囲の名前。必ずしも一意ではありません。 |
戻る
NamedRange[]
- タブ内にある、指定された名前の NamedRange
オブジェクトの配列。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
element | Element | 新しく作成された Position を含む要素。これは
Text 要素か、Paragraph などのコンテナ要素のいずれかです。 |
offset | Integer | Text 要素の場合、Position の前までの文字数。
その他の要素の場合、Position の前にある子要素の数
記述できます。 |
戻る
Position
- 新しい Position
。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
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
- 新しいビルダー。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents