リッチテキストと要素(テーブルやリストなど)を含むドキュメント。
ドキュメントは、DocumentApp
を使用して開いたり作成したりできます。
// Open a document by ID. var doc = DocumentApp.openById("<my-id>"); // Create and open a document. doc = DocumentApp.create("Document Title");
Methods
メソッド | 戻り値の型 | 概要 |
---|---|---|
addBookmark(position) | Bookmark | 指定された Position に Bookmark を追加します。 |
addEditor(emailAddress) | Document | 指定したユーザーを Document の編集者のリストに追加します。 |
addEditor(user) | Document | 指定したユーザーを Document の編集者のリストに追加します。 |
addEditors(emailAddresses) | Document | 指定したユーザー配列を Document の編集者のリストに追加します。 |
addFooter() | FooterSection | ドキュメントのフッター セクションを追加します(存在しない場合)。 |
addHeader() | HeaderSection | 存在しない場合はドキュメント ヘッダー セクションを追加します。 |
addNamedRange(name, range) | NamedRange | NamedRange を追加します。これは、後で取得に使用する名前と ID を持つ Range です。 |
addViewer(emailAddress) | Document | 指定したユーザーを Document の閲覧者リストに追加します。 |
addViewer(user) | Document | 指定したユーザーを Document の閲覧者リストに追加します。 |
addViewers(emailAddresses) | Document | 指定したユーザー配列を Document の閲覧者リストに追加します。 |
getAs(contentType) | Blob | 現在の Document コンテンツを、指定された型の blob として取得します。 |
getBlob() | Blob | 現在の Document コンテンツを blob として取得します。 |
getBody() | Body | アクティブ ドキュメントの Body を取得します。 |
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 ドキュメント ファイルでサポートされているすべての言語コードを取得します。 |
getUrl() | String | 現在のドキュメントにアクセスする URL を取得します。 |
getViewers() | User[] | この Document の閲覧者と閲覧者(コメント可)のリストを取得します。 |
newPosition(element, offset) | Position | 新しい Position を作成します。これは、特定の要素を基準に、ドキュメント内の場所への参照です。 |
newRange() | RangeBuilder | ドキュメント要素から Range オブジェクトを構築するために使用するビルダーを作成します。 |
removeEditor(emailAddress) | Document | Document の編集者のリストから指定されたユーザーを削除します。 |
removeEditor(user) | Document | Document の編集者のリストから指定されたユーザーを削除します。 |
removeViewer(emailAddress) | Document | Document の閲覧者と閲覧者(コメント可)のリストからユーザーを削除します。 |
removeViewer(user) | Document | Document の閲覧者と閲覧者(コメント可)のリストからユーザーを削除します。 |
saveAndClose() | void | 現在の Document を保存します。 |
setCursor(position) | Document | 指定した値に応じて、アクティブなドキュメント内にユーザーのカーソルを設定します。Position |
setLanguage(languageCode) | Document | ドキュメントの言語コードを設定します。 |
setName(name) | Document | ドキュメントのタイトルを設定します。 |
setSelection(range) | Document | Range の場合、アクティブ ドキュメント内でユーザーの選択を設定します。 |
詳細なドキュメント
addBookmark(position)
addEditor(emailAddress)
指定したユーザーを Document
の編集者のリストに追加します。ユーザーがすでに閲覧者のリストに含まれていた場合、このメソッドはユーザーを閲覧者のリストから選択します。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
emailAddress | String | 追加するユーザーのメールアドレス。 |
戻る
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
addEditor(user)
addEditors(emailAddresses)
指定したユーザー配列を Document
の編集者のリストに追加します。すでにいずれかのユーザーが閲覧者のリストに含まれていた場合、このメソッドはユーザーを閲覧者のリストから選択します。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
emailAddresses | String[] | 追加するユーザーのメールアドレスの配列。 |
戻る
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
addHeader()
存在しない場合はドキュメント ヘッダー セクションを追加します。
戻る
HeaderSection
- ドキュメント ヘッダー
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
addNamedRange(name, range)
NamedRange
を追加します。これは、後で取得に使用する名前と ID を持つ Range
です。名前は必ずしも一意であるとは限りません。HTML のクラスと同様に、同じドキュメント内の複数の範囲で同じ名前を使用できます。一方、ID は HTML 内の ID のようにドキュメント内で一意です。NamedRange
をドキュメントに追加した後に変更することはできません。削除のみ可能です。
ドキュメントにアクセスするすべてのスクリプトが NamedRange
にアクセスできます。スクリプト間の意図しない競合を回避するには、範囲名の先頭に一意の文字列を付加することを検討してください。
// Creates a named range that includes every table in the document. var doc = DocumentApp.getActiveDocument(); var rangeBuilder = doc.newRange(); var tables = doc.getBody().getTables(); for (var i = 0; i < tables.length; i++) { rangeBuilder.addElement(tables[i]); } doc.addNamedRange('Document 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
addViewer(emailAddress)
addViewer(user)
addViewers(emailAddresses)
指定したユーザー配列を Document
の閲覧者リストに追加します。すでに編集者のリストに含まれていたユーザーが存在する場合、この方法による影響はありません。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
emailAddresses | String[] | 追加するユーザーのメールアドレスの配列。 |
戻る
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getAs(contentType)
現在の Document
コンテンツを、指定された型の blob として取得します。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
contentType | String | 変換する MIME タイプ。現時点では 'application/pdf' のみがサポートされています |
戻る
Blob
- blob として現在のドキュメント
getBlob()
getBody()
アクティブ ドキュメントの Body
を取得します。
ドキュメントには、さまざまなタイプのセクション(HeaderSection
、FooterSection
など)を含めることができます。ドキュメントのアクティブなセクションは Body
です。
Document
の要素メソッドはアクティブな Body
にデリゲートします。
戻る
Body
- アクティブなドキュメントの本文セクション
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getBookmark(id)
指定された ID の Bookmark
を取得します。そのような Bookmark
が存在しない場合、このメソッドは null
を返します。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
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
オブジェクトを取得します。
戻る
Bookmark[]
- ドキュメント内の Bookmark
オブジェクトの配列。
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
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. var 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. var 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
。
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getEditors()
getFootnotes()
ドキュメント本文内のすべての Footnote
要素を取得します。
getFootnotes
を呼び出すと、ドキュメントの要素が繰り返されます。大きなドキュメントの場合は、このメソッドを呼び出す必要がないようにしてください。
戻る
Footnote[]
- ドキュメントの脚注
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getHeader()
ドキュメントのヘッダー セクションを取得します(存在する場合)。
戻る
HeaderSection
- ドキュメント ヘッダー
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getId()
getLanguage()
getName()
getNamedRangeById(id)
指定された ID の NamedRange
を取得します。そのような NamedRange
が存在しない場合、このメソッドは null
を返します。名前は必ずしも一意ではありません。同じドキュメント内の複数の範囲が、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 内の ID のようにドキュメント内で一意です。
NamedRange
には、ドキュメントにアクセスする任意のスクリプトからアクセスできます。スクリプト間の意図しない競合を回避するには、範囲名の前に一意の文字列を付加することを検討してください。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
name | String | 範囲の名前(必ずしも一意ではありません) |
戻る
NamedRange[]
- 指定された名前を持つドキュメント内の NamedRange
オブジェクトの配列
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
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. var selection = DocumentApp.getActiveDocument().getSelection(); if (selection) { var elements = selection.getRangeElements(); DocumentApp.getUi().alert('Number of selected elements: ' + elements.length); } else { DocumentApp.getUi().alert('Nothing is selected.'); }
戻る
Range
- ユーザーの選択を表します。null
は、ドキュメント内で何も選択されていない場合や、段落の末尾しか選択されていない場合か、段落の末尾しか選択されていない場合か、スクリプトがドキュメントにバインドされていない場合に選択します。
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getSupportedLanguageCodes()
getUrl()
現在のドキュメントにアクセスする URL を取得します。
var doc = DocumentApp.getActiveDocument(); // Send out the link to open the document. MailApp.sendEmail("<email-address>", doc.getName(), doc.getUrl());
戻る
String
- 現在のドキュメントにアクセスする URL
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getViewers()
newPosition(element, offset)
新しい Position
を作成します。これは、特定の要素を基準に、ドキュメント内の場所への参照です。ユーザーのカーソルは Position
などで表されます。
// Append a paragraph, then place the user's cursor after the first word of the new paragraph. var doc = DocumentApp.getActiveDocument(); var paragraph = doc.getBody().appendParagraph('My new paragraph.'); var position = doc.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 document. var doc = DocumentApp.getActiveDocument(); var rangeBuilder = doc.newRange(); var tables = doc.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
removeEditor(emailAddress)
Document
の編集者のリストから指定されたユーザーを削除します。このメソッドは、ユーザーが一般的なアクセス権を持つクラスに属している場合(Document
がユーザーのドメイン全体と共有されている場合や、Document
がユーザーが所有する共有ドライブ内にある場合など)、Document
へのアクセスをブロックしません。
ドライブ ファイルの場合は、閲覧者のリストからもそのユーザーが削除されます。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
emailAddress | String | 削除するユーザーのメールアドレス。 |
戻る
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
removeEditor(user)
Document
の編集者のリストから指定されたユーザーを削除します。このメソッドは、ユーザーが一般的なアクセス権を持つクラスに属している場合(Document
がユーザーのドメイン全体と共有されている場合や、Document
がユーザーが所有する共有ドライブ内にある場合など)、Document
へのアクセスをブロックしません。
ドライブ ファイルの場合は、閲覧者のリストからもそのユーザーが削除されます。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
user | User | 削除するユーザーの表現。 |
戻る
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
removeViewer(emailAddress)
Document
の閲覧者と閲覧者(コメント可)のリストからユーザーを削除します。ユーザーが閲覧者または閲覧者(コメント可)ではなく編集者である場合、このメソッドは無視されます。また、このメソッドでは、一般的なアクセス権を持つユーザーのクラスに属している場合でも、そのユーザーが Document
にアクセスできないわけではありません。たとえば、Document
がユーザーのドメイン全体と共有されている場合や、Document
がユーザーがアクセスできる共有ドライブにある場合などです。
ドライブのファイルについては、編集者のリストからも削除されます。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
emailAddress | String | 削除するユーザーのメールアドレス。 |
戻る
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
removeViewer(user)
Document
の閲覧者と閲覧者(コメント可)のリストからユーザーを削除します。ユーザーが閲覧者ではなく編集者である場合は、このメソッドは無視されます。また、Document
がユーザーのドメイン全体と共有されている場合や、Document
がユーザーがアクセスできる共有ドライブにある場合など、一般的なアクセス権を持つユーザーのクラスに属している場合でも、このメソッドは Document
へのアクセスをブロックしません。
ドライブのファイルについては、編集者のリストからも削除されます。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
user | User | 削除するユーザーの表現。 |
戻る
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
saveAndClose()
現在の Document
を保存します。保留中の更新がフラッシュされて適用されます。
saveAndClose()
メソッドは、スクリプトを実行する際に、編集する編集可能な Document
ごとに自動的に呼び出されます。
閉じた Document
は編集できません。DocumentApp.openById()
を使用して、特定のドキュメントを編集用に再度開きます。
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setCursor(position)
指定した値に応じて、アクティブなドキュメント内にユーザーのカーソルを設定します。Position
スクリプトは、そのスクリプトを実行しているユーザーのカーソルにのみアクセスできます。これは、スクリプトがドキュメントにバインドされている場合に限られます。
// Append a paragraph, then place the user's cursor after the first word of the new paragraph. var doc = DocumentApp.getActiveDocument(); var paragraph = doc.getBody().appendParagraph('My new paragraph.'); var position = doc.newPosition(paragraph.getChild(0), 2); doc.setCursor(position);
パラメータ
氏名 | 型 | 説明 |
---|---|---|
position | Position | 新しいカーソルの場所 |
戻る
Document
- 連結用の Document
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setLanguage(languageCode)
ドキュメントの言語コードを設定します。これはドキュメント エディタの [ファイル] > [言語] に表示される言語であり、ドキュメントに含まれる実際の言語ではない場合があります。有効なすべての言語コードを取得するには、getSupportedLanguageCodes()
を使用します。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
languageCode | String | 言語コード。 |
戻る
Document
- 連結用の Document
。
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setName(name)
ドキュメントのタイトルを設定します。
パラメータ
氏名 | 型 | 説明 |
---|---|---|
name | String | 新しいドキュメントのタイトル |
戻る
Document
- 現在のドキュメント
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setSelection(range)
Range
の場合、アクティブ ドキュメント内でユーザーの選択を設定します。スクリプトは、そのスクリプトを実行しているユーザーの選択にのみアクセスできます。これは、スクリプトがドキュメントにバインドされている場合に限られます。
// Change the user's selection to a range that includes every table in the document. var doc = DocumentApp.getActiveDocument(); var rangeBuilder = doc.newRange(); var tables = doc.getBody().getTables(); for (var i = 0; i < tables.length; i++) { rangeBuilder.addElement(tables[i]); } doc.setSelection(rangeBuilder.build());
パラメータ
氏名 | 型 | 説明 |
---|---|---|
range | Range | 選択する新しい要素の範囲 |
戻る
Document
- 連結用の Document
承認
このメソッドを使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents