GAS(Google App Script)は、日々の業務効率化や、仕事の自動化など多岐にわたる使い方ができる、Googleが提供しているプラットフォームです。GASを使えば、GmailやGoogleドキュメント、スプレッドシートなどと組み合わせて様々なタスク・業務を自動化する事ができます。

今回は、そのGASのスクリプトを書く際によく使うクラス・関数・メソッドをご紹介します。
チートシート的に使っても良いですし、この辺りの知識が曖昧な人も学習・復習できるように紹介していますので、是非ご活用ください。
GASでよく使うクラス・関数・メソッドを覚えておけば、プログラムを記述する際にスラスラ書く事ができる様になります。また、他の人が書いたGASのコードを読む時にも、理解が深まることが期待されます。
前提知識を整理する
まずは、GASにおけるクラス・関数・メソッドを見ていく前に、「そもそもクラス・関数・メソッドとは?」といったところを改めて整理しておきましょう。


そもそも「クラス」って何?
GASにおけるクラスとは、他のプログラミング言語とも同様ですが、便利で事前に用意された関数のまとまりと理解すると良いでしょう。
関数に関しては、次の項をご覧ください。
そもそも「関数」って何?
GASにおける関数とは、他のプログラミング言語とも同様ですが、任意の入力「引数」を使い、処理を行った上で最終的な処理・出力を行うひとまとまりのプログラムのかたまりと理解すると良いでしょう。
関数は、ある程度まとまった機能の単位で作ることもあれば、さらにそれを使ってより大きな関数を作ることもあります。また、同じ様な処理を共通化したりすることでコーディング効率を図る事ができます。
function で始まるものが、関数にあたります。(functionをつける事で、関数の宣言をしている)
function myKansu(引数1, 引数2,...) {
// ここに任意の処理を書く
}そもそも「メソッド」って何?
GASにおけるメソッドとは、他のプログラミング言語とも同様ですが、特定のオブジェクトに対して使用できる特定の処理のこと、と理解すると良いでしょう。オブジェクトとは、キーとプロパティで構成されたデータの事であり、JavaScriptではかなり頻用します。
let object_sample = {
キー: プロパティ,
キー2: プロパティ2,
}オブジェクトに対してメソッドが使えるということは、そのオブジェクト内に関数が定義されているということになります。これを関数リテラルと言います。
let object_sample = {
hello: function() {
console.log("Hello!");
},
age: 20
}たとえば、上記の様なオブジェクトがあった場合、ドット記法でメソッドを利用する事ができます。
実際にGASでサンプルコードを動かして確認してみて下さい。
function mySampleMethod() {
let object_sample = {
hello: function() {
console.log("Hello!");
},
age: 20
};
object_sample.hello();
}
このとき、hello()に当たる部分がメソッドになります。
GASのクラス・関数・メソッド一覧
それでは、ここからGASでよく使うクラス・関数・メソッドを確認していきましょう。
Googleサービスごとにまとめていきたいと思いますので、よく使うサービスのものを見ていただければと思います。
Googleスプレッドシートで使うクラス
SpreadsheetAppクラス
Googleスプレッドシートにアクセスする際に最も使うのがこのSpreadsheetAppになります。Googleスプレッドシート ファイルにアクセスして作成したりする事が可能です。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| create(name) | Spreadsheet | 指定した名前で新しいスプレッドシートを作成します。 |
| create(name, rows, columns) | Spreadsheet | 指定した名前と指定した行数と列数で、新しいスプレッドシートを作成します。 |
| enableAllDataSourcesExecution() | void | すべての種類のデータソースに対してデータ実行を有効にします。 |
| enableBigQueryExecution() | void | BigQuery データソースのデータ実行をオンにします。 |
| flush() | void | スプレッドシートの保留中の変更をすべて適用します。 |
| getActive() | Spreadsheet | 現在アクティブなスプレッドシートを返します。スプレッドシートがない場合は null を返します。 |
| getActiveRange() | Range | アクティブ シート内の選択した範囲を返します。アクティブ範囲がない場合は null を返します。 |
| getActiveRangeList() | RangeList | アクティブ シート内のアクティブ範囲のリストを返します。範囲が選択されていない場合は null を返します。 |
| getActiveSheet() | Sheet | スプレッドシート内のアクティブ シートを取得します。 |
| getActiveSpreadsheet() | Spreadsheet | 現在アクティブなスプレッドシートを返します。スプレッドシートがない場合は null を返します。 |
| getCurrentCell() | Range | アクティブ シート内のアクティブ範囲のいずれかで選択された現在の(ハイライト表示された)セルを返します。現在のセルがない場合は null を返します。 |
| getSelection() | Selection | スプレッドシートの現在の Selection を返します。 |
| getUi() | Ui | スプレッドシートのユーザー インターフェース環境のインスタンスを返します。この環境では、スクリプトがメニュー、ダイアログ、サイドバーなどの機能を追加できます。 |
| newCellImage() | CellImageBuilder | CellImage のビルダーを作成します。 |
| newColor() | ColorBuilder | Color のビルダーを作成します。 |
| newConditionalFormatRule() | ConditionalFormatRuleBuilder | 条件付き書式ルールのビルダーを作成します。 |
| newDataSourceSpec() | DataSourceSpecBuilder | DataSourceSpec のビルダーを作成します。 |
| newDataValidation() | DataValidationBuilder | データ入力規則のビルダーを作成します。 |
| newFilterCriteria() | FilterCriteriaBuilder | FilterCriteria のビルダーを作成します。 |
| newRichTextValue() | RichTextValueBuilder | リッチテキスト値のビルダーを作成します。 |
| newTextStyle() | TextStyleBuilder | テキスト スタイルのビルダーを作成します。 |
| open(file) | Spreadsheet | 指定した File オブジェクトに対応するスプレッドシートを開きます。 |
| openById(id) | Spreadsheet | 指定された ID のスプレッドシートを開きます。 |
| openByUrl(url) | Spreadsheet | 指定した URL のスプレッドシートを開きます。 |
| setActiveRange(range) | Range | 指定された範囲を active range として設定し、範囲内の左上のセルを current cell として設定します。 |
| setActiveRangeList(rangeList) | RangeList | 指定された範囲リストを active ranges として設定します。 |
| setActiveSheet(sheet) | Sheet | スプレッドシートにアクティブ シートを設定します。 |
| setActiveSheet(sheet, restoreSelection) | Sheet | スプレッドシート内のアクティブなシートを設定し、そのシート内の最新の選択を復元するオプションを提供します。 |
| setActiveSpreadsheet(newActiveSpreadsheet) | void | アクティブなスプレッドシートを設定します。 |
| setCurrentCell(cell) | Range | 指定されたセルを current cell として設定します。 |
Banding
スプレッドシートの範囲の行または列に適用される縞模様(カラーパターン)にアクセスして変更できるクラスです。各縞模様(Banding)は、範囲と、行、列、ヘッダー、フッターの色のセットで構成されています。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| copyTo(range) | Banding | この縞模様を別の範囲にコピーします。 |
| getFirstColumnColorObject() | Color | 縞模様の最初の交互の列の色を返します。色が設定されていない場合は null を返します。 |
| getFirstRowColorObject() | Color | 最初の交互の行の色を返します。色が設定されていない場合は null を返します。 |
| getFooterColumnColorObject() | Color | バンディングの最後の列の色を返します。色が設定されていない場合は null を返します。 |
| getFooterRowColorObject() | Color | 縞模様の最後の行の色を返します。色が設定されていない場合は null を返します。 |
| getHeaderColumnColorObject() | Color | 縞模様の最初の列の色を返します。色が設定されていない場合は null を返します。 |
| getHeaderRowColorObject() | Color | ヘッダー行の色を返します。色が設定されていない場合は null を返します。 |
| getRange() | Range | この縞模様の範囲を返します。 |
| getSecondColumnColorObject() | Color | 縞模様内の 2 番目の交互の列の色を返します。色が設定されていない場合は null を返します。 |
| getSecondRowColorObject() | Color | 2 番目の交互の行の色を返します。色が設定されていない場合は null を返します。 |
| remove() | void | この縞模様を削除します。 |
| setFirstColumnColor(color) | Banding | 交互に表示する最初の列の色を設定します。 |
| setFirstColumnColorObject(color) | Banding | 縞模様のある 1 つ目の交互の列の色を設定します。 |
| setFirstRowColor(color) | Banding | 交互に表示する 1 行目の色を設定します。 |
| setFirstRowColorObject(color) | Banding | バンディングの 1 行目の交互の行の色を設定します。 |
| setFooterColumnColor(color) | Banding | 最後の列の色を設定します。 |
| setFooterColumnColorObject(color) | Banding | 縞模様の最後の列の色を設定します。 |
| setFooterRowColor(color) | Banding | 最後の行の色を設定します。 |
| setFooterRowColorObject(color) | Banding | バンディングのフッター行の色を設定します。 |
| setHeaderColumnColor(color) | Banding | ヘッダー列の色を設定します。 |
| setHeaderColumnColorObject(color) | Banding | ヘッダー列の色を設定します。 |
| setHeaderRowColor(color) | Banding | ヘッダー行の色を設定します。 |
| setHeaderRowColorObject(color) | Banding | ヘッダー行の色を設定します。 |
| setRange(range) | Banding | この縞模様の範囲を設定します。 |
| setSecondColumnColor(color) | Banding | 交互に表示する 2 番目の列の色を設定します。 |
| setSecondColumnColorObject(color) | Banding | 縞模様に 2 つ目の交互の列の色を設定します。 |
| setSecondRowColor(color) | Banding | 交互に表示する 2 行目の色を設定します。 |
| setSecondRowColorObject(color) | Banding | 縞模様に 2 つ目の交互色を設定します。 |
これらは代表的なクラスにおけるメソッドであり、この他に無数のクラス・メソッドが存在しています。
よく使うクラス・関数・メソッドに関しては、こちらの記事にまとめています。

Googleドキュメントで使うクラス
DocumentApp
Googleドキュメントにアクセスする際に最も使うのがこのSpreadsheetAppになります。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| create(name) | Document | 新しいドキュメントを作成して返します。 |
| getActiveDocument() | Document | スクリプトがコンテナにバインドされているドキュメントを返します。 |
| getUi() | Ui | ドキュメントのユーザー インターフェース環境のインスタンスを返します。これにより、スクリプトがメニュー、ダイアログ、サイドバーなどの機能を追加できるようになります。 |
| openById(id) | Document | 指定された ID を持つドキュメントを返します。 |
| openByUrl(url) | Document | 指定された URL のドキュメントを開いて返します。 |
Body
ドキュメントの本文を表す要素を操作するときに最も使用されるクラスです。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| appendHorizontalRule() | HorizontalRule | 新しい HorizontalRule を作成して追加します。 |
| appendImage(image) | InlineImage | 指定されたイメージ blob から新しい InlineImage を作成して追加します。 |
| appendImage(image) | InlineImage | 指定した InlineImage を追加します。 |
| appendListItem(listItem) | ListItem | 指定した ListItem を追加します。 |
| appendListItem(text) | ListItem | 指定されたテキスト コンテンツを含む新しい ListItem を作成して追加します。 |
| appendPageBreak() | PageBreak | 新しい PageBreak を作成して追加します。 |
| appendPageBreak(pageBreak) | PageBreak | 指定した PageBreak を追加します。 |
| appendParagraph(paragraph) | Paragraph | 指定した Paragraph を追加します。 |
| appendParagraph(text) | Paragraph | 指定されたテキスト コンテンツを含む新しい Paragraph を作成して追加します。 |
| appendTable() | Table | 新しい Table を作成して追加します。 |
| appendTable(cells) | Table | 指定された各文字列値の TableCell を含む新しい Table を追加します。 |
| appendTable(table) | Table | 指定した Table を追加します。 |
| clear() | Body | 要素の内容をクリアします。 |
| copy() | Body | 現在の要素の分離されたディープコピーを返します。 |
| 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 | 指定された子要素の子インデックスを取得します。 |
| getHeadingAttributes(paragraphHeading) | Object | 指定された ParagraphHeading の属性のセットを取得します。 |
| getImages() | InlineImage[] | セクションに含まれるすべての InlineImages を取得します。 |
| getListItems() | ListItem[] | セクションに含まれるすべての ListItems を取得します。 |
| getMarginBottom() | Number | 下余白(ポイント単位)を取得します。 |
| getMarginLeft() | Number | 左余白をポイント単位で取得します。 |
| getMarginRight() | Number | 右余白を取得します。 |
| getMarginTop() | Number | 上余白を取得します。 |
| getNumChildren() | Integer | 子の数を取得します。 |
| getPageHeight() | Number | ページの高さ(ポイント単位)を取得します。 |
| getPageWidth() | Number | ページの幅(ポイント単位)を取得します。 |
| getParagraphs() | Paragraph[] | セクション内のすべての Paragraphs(ListItems を含む)を取得します。 |
| getParent() | ContainerElement | 要素の親要素を取得します。 |
| getTables() | Table[] | セクションに含まれるすべての Tables を取得します。 |
| getText() | String | 要素のコンテンツをテキスト文字列として取得します。 |
| getTextAlignment() | TextAlignment | テキストの配置を取得します。 |
| getType() | ElementType | 要素の ElementType を取得します。 |
| insertHorizontalRule(childIndex) | HorizontalRule | 指定されたインデックスに新しい HorizontalRule を作成して挿入します。 |
| insertImage(childIndex, image) | InlineImage | 指定されたインデックスで、指定された画像 blob から InlineImage を作成して挿入します。 |
| insertImage(childIndex, image) | InlineImage | 指定された InlineImage を指定されたインデックスに挿入します。 |
| insertListItem(childIndex, listItem) | ListItem | 指定された ListItem を指定されたインデックスに挿入します。 |
| insertListItem(childIndex, text) | ListItem | 指定されたテキスト コンテンツを含む新しい ListItem を作成して、指定されたインデックスに挿入します。 |
| insertPageBreak(childIndex) | PageBreak | 指定されたインデックスに新しい PageBreak を作成して挿入します。 |
| insertPageBreak(childIndex, pageBreak) | PageBreak | 指定された PageBreak を指定されたインデックスに挿入します。 |
| insertParagraph(childIndex, paragraph) | Paragraph | 指定された Paragraph を指定されたインデックスに挿入します。 |
| insertParagraph(childIndex, text) | Paragraph | 指定されたテキスト コンテンツを含む新しい Paragraph を作成して、指定されたインデックスに挿入します。 |
| insertTable(childIndex) | Table | 指定されたインデックスに新しい Table を作成して挿入します。 |
| insertTable(childIndex, cells) | Table | 指定されたセルを含む新しい Table を作成して、指定されたインデックスに挿入します。 |
| insertTable(childIndex, table) | Table | 指定された Table を指定されたインデックスに挿入します。 |
| removeChild(child) | Body | 指定された子要素を削除します。 |
| replaceText(searchPattern, replacement) | Element | 正規表現を使用して、指定したテキスト パターンをすべて指定した置換文字列に置き換えます。 |
| setAttributes(attributes) | Body | 要素の属性を設定します。 |
| setHeadingAttributes(paragraphHeading, attributes) | Body | 指定された ParagraphHeading の属性を設定します。 |
| setMarginBottom(marginBottom) | Body | 下余白をポイント単位で設定します。 |
| setMarginLeft(marginLeft) | Body | 左余白をポイント単位で設定します。 |
| setMarginRight(marginRight) | Body | 右余白をポイント単位で設定します。 |
| setMarginTop(marginTop) | Body | 上余白を設定します。 |
| setPageHeight(pageHeight) | Body | ページの高さをポイント単位で設定します。 |
| setPageWidth(pageWidth) | Body | ページの幅をポイント単位で設定します。 |
| setText(text) | Body | コンテンツを書式なしテキストとして設定します。 |
| setTextAlignment(textAlignment) | Body | テキストの配置を設定します。 |
Bookmark
ブックマークを表すオブジェクトを扱うクラスです。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| getId() | String | Bookmark の ID を取得します。 |
| getPosition() | Position | Document 内の Bookmark の Position を取得します。 |
| remove() | void | Bookmark を削除します。 |
ContainerElement
ContainerElementは他の要素を含む可能性のある汎用要素です。Paragraph などの子要素を含む可能性のあるすべての要素は ContainerElement を継承します。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| asBody() | Body | 現在の要素を Body として返します。 |
| asEquation() | Equation | 現在の要素を Equation として返します。 |
| asFooterSection() | FooterSection | 現在の要素を FooterSection として返します。 |
| asFootnoteSection() | FootnoteSection | 現在の要素を FootnoteSection として返します。 |
| asHeaderSection() | HeaderSection | 現在の要素を HeaderSection として返します。 |
| asListItem() | ListItem | 現在の要素を ListItem として返します。 |
| asParagraph() | Paragraph | 現在の要素を Paragraph として返します。 |
| asTable() | Table | 現在の要素を Table として返します。 |
| asTableCell() | TableCell | 現在の要素を TableCell として返します。 |
| asTableOfContents() | TableOfContents | 現在の要素を TableOfContents として返します。 |
| asTableRow() | TableRow | 現在の要素を TableRow として返します。 |
| clear() | ContainerElement | 要素の内容をクリアします。 |
| copy() | ContainerElement | 現在の要素の分離されたディープコピーを返します。 |
| 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 の末尾にあるかどうかを判断します。 |
| merge() | ContainerElement | 要素を、前の同じタイプの兄弟要素と結合します。 |
| removeFromParent() | ContainerElement | 要素を親から削除します。 |
| replaceText(searchPattern, replacement) | Element | 正規表現を使用して、指定したテキスト パターンをすべて指定した置換文字列に置き換えます。 |
| setAttributes(attributes) | ContainerElement | 要素の属性を設定します。 |
| setLinkUrl(url) | ContainerElement | リンクの URL を設定します。 |
| setTextAlignment(textAlignment) | ContainerElement | テキストの配置を設定します。 |
Date
書式設定された日付を表す要素を扱うクラスになります。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| copy() | Date | 現在の要素の分離されたディープコピーを返します。 |
| getAttributes() | Object | 要素の属性を取得します。 |
| getDisplayText() | String | ドキュメント内でレンダリングされる表示値を返します。 |
| getLocale() | String | 表示値に使用する日付の言語 / 地域を返します。 |
| getNextSibling() | Element | 要素の次の兄弟要素を取得します。 |
| getParent() | ContainerElement | 要素の親要素を取得します。 |
| getPreviousSibling() | Element | 要素の前の兄弟要素を取得します。 |
| getTimestamp() | Date | 日付に関連付けられたタイムスタンプを返します。 |
| getType() | ElementType | 要素の ElementType を取得します。 |
| isAtDocumentEnd() | Boolean | 要素が Document の末尾にあるかどうかを判断します。 |
| merge() | Date | 要素を、前の同じタイプの兄弟要素と結合します。 |
| removeFromParent() | Date | 要素を親から削除します。 |
| setAttributes(attributes) | Date | 要素の属性を設定します。 |
Document
リッチテキストや、表やリストなどの要素を含むドキュメントを扱うクラスです。ドキュメントは DocumentApp を使用して開いたり作成したりできます。
// IDでドキュメントを開く
var doc = DocumentApp.openById("<my-id>");
// ドキュメントを作成し、開く
doc = DocumentApp.create("Document Title");| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| 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 を基に、アクティブなドキュメント内のユーザーの選択を設定します。 |
Equation
数式を表す要素を扱うクラスです。Equation には、EquationFunction 要素、EquationSymbol 要素、Text 要素を含めることができます。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| clear() | Equation | 要素の内容をクリアします。 |
| copy() | Equation | 現在の要素の分離されたディープコピーを返します。 |
| 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 の末尾にあるかどうかを判断します。 |
| merge() | Equation | 要素を、前の同じタイプの兄弟要素と結合します。 |
| removeFromParent() | Equation | 要素を親から削除します。 |
| replaceText(searchPattern, replacement) | Element | 正規表現を使用して、指定したテキスト パターンをすべて指定した置換文字列に置き換えます。 |
| setAttributes(attributes) | Equation | 要素の属性を設定します。 |
| setLinkUrl(url) | Equation | リンクの URL を設定します。 |
| setTextAlignment(textAlignment) | Equation | テキストの配置を設定します。 |
これらは代表的なクラスにおけるメソッドであり、この他に無数のクラス・メソッドが存在しています。
Googleカレンダーで使うクラス
CalendarApp
Googleカレンダーにアクセスする際に最も使うのがこのCalenderAppになります。ユーザーの Googleカレンダーの読み取りと更新をスクリプトに許可します。
このクラスを使用すると、ユーザーのデフォルト カレンダーに直接アクセスできるだけでなく、ユーザーが所有または登録している追加のカレンダーも取得できるようです。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| createAllDayEvent(title, date) | CalendarEvent | 新しい終日の予定を作成します。 |
| createAllDayEvent(title, startDate, endDate) | CalendarEvent | 複数の日にまたがる新しい終日の予定を作成します。 |
| createAllDayEvent(title, startDate, endDate, options) | CalendarEvent | 複数の日にまたがる新しい終日の予定を作成します。 |
| createAllDayEvent(title, date, options) | CalendarEvent | 新しい終日の予定を作成します。 |
| createAllDayEventSeries(title, startDate, recurrence) | CalendarEventSeries | 新しい終日の予定シリーズを作成します。 |
| createAllDayEventSeries(title, startDate, recurrence, options) | CalendarEventSeries | 新しい終日の予定シリーズを作成します。 |
| createCalendar(name) | Calendar | ユーザーが所有する新しいカレンダーを作成します。 |
| createCalendar(name, options) | Calendar | ユーザーが所有する新しいカレンダーを作成します。 |
| createEvent(title, startTime, endTime) | CalendarEvent | 新しいイベントを作成します。 |
| createEvent(title, startTime, endTime, options) | CalendarEvent | 新しいイベントを作成します。 |
| createEventFromDescription(description) | CalendarEvent | 自由形式の説明からイベントを作成します。 |
| createEventSeries(title, startTime, endTime, recurrence) | CalendarEventSeries | 新しいイベント シリーズを作成します。 |
| createEventSeries(title, startTime, endTime, recurrence, options) | CalendarEventSeries | 新しいイベント シリーズを作成します。 |
| getAllCalendars() | Calendar[] | ユーザーが所有または登録しているすべてのカレンダーを取得します。 |
| getAllOwnedCalendars() | Calendar[] | そのユーザーが所有するすべてのカレンダーを取得します。 |
| getCalendarById(id) | Calendar | 指定された ID のカレンダーを取得します。 |
| getCalendarsByName(name) | Calendar[] | ユーザーが所有または登録している特定の名前を持つすべてのカレンダーを取得します。 |
| getColor() | String | カレンダーの色を取得します。 |
| getDefaultCalendar() | Calendar | ユーザーのデフォルトのカレンダーを取得します。 |
| getDescription() | String | カレンダーの説明を取得します。 |
| getEventById(iCalId) | CalendarEvent | 指定された ID のイベントを取得します。 |
| getEventSeriesById(iCalId) | CalendarEventSeries | 指定された ID のイベントシリーズを取得します。 |
| getEvents(startTime, endTime) | CalendarEvent[] | 指定された期間に発生したすべてのイベントを取得します。 |
| getEvents(startTime, endTime, options) | CalendarEvent[] | 特定の期間内に発生し、指定された条件を満たすすべてのイベントを取得します。 |
| getEventsForDay(date) | CalendarEvent[] | 指定された日に発生したすべてのイベントを取得します。 |
| getEventsForDay(date, options) | CalendarEvent[] | 特定の日に発生した、指定された条件を満たすすべてのイベントを取得します。 |
| getId() | String | カレンダーのIDを取得します。 |
| getName() | String | カレンダーの名前を取得します。 |
| getOwnedCalendarById(id) | Calendar | ユーザーがオーナーである場合、指定された ID のカレンダーを取得します。 |
| getOwnedCalendarsByName(name) | Calendar[] | ユーザーが所有する特定の名前を持つすべてのカレンダーを取得します。 |
| getTimeZone() | String | カレンダーのタイムゾーンを取得します。 |
| isHidden() | Boolean | ユーザーインターフェースでカレンダーを非表示にするかどうかを指定します。 |
| isMyPrimaryCalendar() | Boolean | カレンダーが有効なユーザーのメイン カレンダーであるかどうかを示します。 |
| isOwnedByMe() | Boolean | 自分がオーナーのカレンダーかどうかを指定します。 |
| isSelected() | Boolean | カレンダーの予定をユーザー インターフェースに表示するかどうかを指定します。 |
| newRecurrence() | EventRecurrence | 新しい繰り返しオブジェクトを作成します。このオブジェクトを使用して、イベントの繰り返しに関するルールを作成できます。 |
| setColor(color) | Calendar | カレンダーの色を設定します。 |
| setDescription(description) | Calendar | カレンダーの説明を設定します。 |
| setHidden(hidden) | Calendar | カレンダーをユーザー インターフェースに表示するかどうかを設定します。 |
| setName(name) | Calendar | カレンダーの名前を設定します。 |
| setSelected(selected) | Calendar | カレンダーの予定をユーザーインターフェースに表示するかどうかを設定します。 |
| setTimeZone(timeZone) | Calendar | カレンダーのタイムゾーンを設定します。 |
| subscribeToCalendar(id) | Calendar | 指定された ID でカレンダーに登録します(ユーザーが登録を許可されている場合)。 |
| subscribeToCalendar(id, options) | Calendar | 指定された ID でカレンダーに登録します(ユーザーが登録を許可されている場合)。 |
これらは代表的なクラスにおけるメソッドであり、この他に無数のクラス・メソッドが存在しています。
Gmailで使うクラス
GmailApp
Gmailにアクセスする際に最も使うのがこのGmailAppになります。Gmail のスレッド、メール、ラベルへのアクセスを許可します。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| createDraft(recipient, subject, body) | GmailDraft | メールの下書きを作成します。 |
| createDraft(recipient, subject, body, options) | GmailDraft | オプションの引数を指定して、メールの下書きを作成します。 |
| createLabel(name) | GmailLabel | 指定した名前の新しいユーザーラベルを作成します。 |
| deleteLabel(label) | GmailApp | 指定したラベルを削除します。 |
| getAliases() | String[] | Gmail でこのアカウントのエイリアスとして設定されているメールのリストを取得します。 |
| getDraft(draftId) | GmailDraft | ID でメールの下書きを取得する。 |
| getDraftMessages() | GmailMessage[] | すべての下書きメッセージを取得します。 |
| getDrafts() | GmailDraft[] | Gmail の下書きメールをすべて取得します。 |
| getInboxThreads() | GmailThread[] | ラベルに関係なく、受信トレイのすべてのスレッドを取得します。 |
| getInboxThreads(start, max) | GmailThread[] | ラベルに関係なく、受信トレイのスレッドの範囲を取得します。 |
| getInboxUnreadCount() | Integer | 受信トレイ内の未読スレッドの数を取得します。 |
| getMessageById(id) | GmailMessage | ID でメッセージを取得します。 |
| getMessagesForThread(thread) | GmailMessage[] | 指定したスレッドのすべてのメッセージを取得します。 |
| getMessagesForThreads(threads) | GmailMessage[][] | 指定したスレッドのすべてのメッセージを取得します。 |
| getPriorityInboxThreads() | GmailThread[] | ラベルに関係なく、優先トレイのすべてのスレッドを取得します。 |
| getPriorityInboxThreads(start, max) | GmailThread[] | ラベルに関係なく、優先トレイのスレッドの範囲を取得します。 |
| getPriorityInboxUnreadCount() | Integer | 優先トレイ内の未読スレッドの数を取得します。 |
| getSpamThreads() | GmailThread[] | ラベルに関係なく、すべてのスパムスレッドを取得します。 |
| getSpamThreads(start, max) | GmailThread[] | ラベルに関係なく、一連のスパムスレッドを取得します。 |
| getSpamUnreadCount() | Integer | スパムの未読スレッドの数を取得します。 |
| getStarredThreads() | GmailThread[] | ラベルに関係なく、スター付きのスレッドをすべて取得します。 |
| getStarredThreads(start, max) | GmailThread[] | ラベルに関係なく、スター付きのスレッドの範囲を取得します。 |
| getStarredUnreadCount() | Integer | スター付きの未読スレッドの数を取得します。 |
| getThreadById(id) | GmailThread | ID でスレッドを取得します。 |
| getTrashThreads() | GmailThread[] | ラベルに関係なく、ゴミ箱のすべてのスレッドを取得します。 |
| getTrashThreads(start, max) | GmailThread[] | ラベルに関係なく、ゴミ箱スレッドの範囲を取得します。 |
| getUserLabelByName(name) | GmailLabel | 指定したラベル名のラベルを取得します。 |
| getUserLabels() | GmailLabel[] | ユーザーが作成したラベルのリストを取得します。 |
| markMessageRead(message) | GmailApp | このメッセージを既読にし、メッセージを強制的に更新します。 |
| markMessageUnread(message) | GmailApp | このメッセージを未読にして、メッセージを強制的に更新します。 |
| markMessagesRead(messages) | GmailApp | これらのメールを既読とし、強制的に更新します。 |
| markMessagesUnread(messages) | GmailApp | これらのメールを未読にして、強制的に更新します。 |
| markThreadImportant(thread) | GmailApp | このスレッドに重要マークを付けて、スレッドを強制的に更新します。 |
| markThreadRead(thread) | GmailApp | このスレッドを既読としてマークし、スレッドを強制的に更新します。 |
| markThreadUnimportant(thread) | GmailApp | このスレッドを重要でないとマークして、スレッドを強制的に更新します。 |
| markThreadUnread(thread) | GmailApp | このスレッドを未読にして、スレッドを強制的に更新します。 |
| markThreadsImportant(threads) | GmailApp | これらのスレッドに重要マークを付けて、スレッドを強制的に更新します。 |
| markThreadsRead(threads) | GmailApp | これらのスレッドを既読としてマークし、スレッドを強制的に更新します。 |
| markThreadsUnimportant(threads) | GmailApp | これらのスレッドを重要でないとマークして、スレッドを強制的に更新します。 |
| markThreadsUnread(threads) | GmailApp | これらのスレッドを未読としてマークし、スレッドを強制的に更新します。 |
| moveMessageToTrash(message) | GmailApp | メールをゴミ箱に移動し、強制的に更新します。 |
| moveMessagesToTrash(messages) | GmailApp | 指定したメールをゴミ箱に移動し、強制的に更新します。 |
| moveThreadToArchive(thread) | GmailApp | このスレッドをアーカイブに移動し、スレッドを強制的に更新します。 |
| moveThreadToInbox(thread) | GmailApp | このスレッドを受信トレイに移動し、スレッドを強制的に更新します。 |
| moveThreadToSpam(thread) | GmailApp | このスレッドを [スパム] に移動し、スレッドを強制的に更新します。 |
| moveThreadToTrash(thread) | GmailApp | このスレッドをゴミ箱に移動して、スレッドを強制的に更新します |
| moveThreadsToArchive(threads) | GmailApp | これらのスレッドをアーカイブに移動し、強制的に更新します。 |
| moveThreadsToInbox(threads) | GmailApp | これらのスレッドを受信トレイに移動し、強制的に更新します。 |
| moveThreadsToSpam(threads) | GmailApp | これらのスレッドを [スパム] に移動し、スレッドを強制的に更新します。 |
| moveThreadsToTrash(threads) | GmailApp | これらのスレッドをゴミ箱に移動し、強制的に更新します。 |
| refreshMessage(message) | GmailApp | Gmail からメッセージと関連する状態を再読み込みします(ラベルや既読状態などが変更された場合に役立ちます)。 |
| refreshMessages(messages) | GmailApp | Gmail からメッセージと関連する状態を再読み込みします(ラベルや既読状態などが変更された場合に役立ちます)。 |
| refreshThread(thread) | GmailApp | Gmail からスレッドと関連する状態を再読み込みします(ラベルや読み取り状態などが変更された場合に役立ちます)。 |
| refreshThreads(threads) | GmailApp | Gmail からスレッドと関連する状態を再読み込みします(ラベルや読み取り状態などが変更された場合に役立ちます)。 |
| search(query) | GmailThread[] | 指定されたクエリで Gmail を検索します。 |
| search(query, start, max) | GmailThread[] | 指定されたクエリで Gmail を検索します。 |
| sendEmail(recipient, subject, body) | GmailApp | メール メッセージを送信します。 |
| sendEmail(recipient, subject, body, options) | GmailApp | オプションの引数を指定してメール メッセージを送信します。 |
| setCurrentMessageAccessToken(accessToken) | void | 現在のメッセージ アクセス トークンを設定して、スクリプトが現在の GmailMessage プロパティにアクセスできるようにします。 |
| starMessage(message) | GmailApp | このメッセージにスターを付けて、メッセージを強制的に更新します。 |
| starMessages(messages) | GmailApp | 該当するメッセージにスターを付けて、メッセージを強制的に更新します。 |
| unstarMessage(message) | GmailApp | このメッセージからスターをはずして、メッセージを強制的に更新します。 |
| unstarMessages(messages) | GmailApp | 該当するメッセージからスターを削除して、メッセージを強制的に更新します。 |
GmailAttachment
Gmail の添付ファイル操作等に利用するクラスになります。
// 最初の 100 件の受信トレイスレッド内の添付ファイルに関する情報をログに記録。
var threads = GmailApp.getInboxThreads(0, 100);
var msgs = GmailApp.getMessagesForThreads(threads);
for (var i = 0 ; i < msgs.length; i++) {
for (var j = 0; j < msgs[i].length; j++) {
var attachments = msgs[i][j].getAttachments();
for (var k = 0; k < attachments.length; k++) {
Logger.log('Message "%s" contains the attachment "%s" (%s bytes)',
msgs[i][j].getSubject(), attachments[k].getName(), attachments[k].getSize());
}
}
}| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| copyBlob() | Blob | この blob のコピーを返します。 |
| getAs(contentType) | Blob | このオブジェクト内のデータを、指定されたコンテンツ タイプに変換された blob として返します。 |
| getBytes() | Byte[] | この blob に保存されているデータを取得します。 |
| getContentType() | String | この blob 内のバイトのコンテンツ タイプを取得します。 |
| getDataAsString() | String | この blob のデータを UTF-8 エンコードの文字列として取得します。 |
| getDataAsString(charset) | String | この blob のデータを、指定されたエンコードで文字列として取得します。 |
| getHash() | String | この添付ファイルの SHA1 コンテンツ ハッシュを取得します。 |
| getName() | String | この blob の名前を取得します。 |
| getSize() | Integer | このアタッチメントのサイズを取得します。 |
| isGoogleType() | Boolean | この blob が Google Workspace ファイル(スプレッドシート、ドキュメントなど)かどうかを返します。 |
| setBytes(data) | Blob | この blob に格納されているデータを設定します。 |
| setContentType(contentType) | Blob | この blob 内のバイトのコンテンツ タイプを設定します。 |
| setContentTypeFromExtension() | Blob | ファイル拡張子に基づいて、この blob 内のバイトのコンテンツ タイプを設定します。 |
| setDataFromString(string) | Blob | UTF-8 エンコードの文字列からこの blob のデータを設定します。 |
| setDataFromString(string, charset) | Blob | 指定されたエンコードを使用して、文字列からこの blob のデータを設定します。 |
| setName(name) | Blob | この blob の名前を設定します。 |
GmailDraft
ユーザーの Gmail アカウントでユーザーが作成したメールの下書きを操作するクラスになります。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| deleteDraft() | void | この下書きメッセージを削除します。 |
| getId() | String | この下書きメッセージの ID を取得します。 |
| getMessage() | GmailMessage | この下書きを表す GmailMessage を返します。 |
| getMessageId() | String | この下書きを表す GmailMessage の ID を返します。 |
| send() | GmailMessage | このメールの下書きを送信します。 |
| update(recipient, subject, body) | GmailDraft | この下書きメッセージの内容を置き換える。 |
| update(recipient, subject, body, options) | GmailDraft | オプションの引数を使用して、この下書きメッセージの内容を置き換えます。 |
GmailLabel
ユーザーの Gmail アカウントでユーザーが作成したラベルを操作するクラスになります。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| addToThread(thread) | GmailLabel | 指定されたスレッドにこのラベルを追加し、スレッドを強制的に更新します(GmailThread.refresh())。 |
| addToThreads(threads) | GmailLabel | 指定したスレッドにこのラベルを追加し、スレッドを強制的に更新します。 |
| deleteLabel() | void | このラベルを削除します。 |
| getName() | String | このラベルの名前を取得します。 |
| getThreads() | GmailThread[] | このラベルが付いたスレッドを取得します。 |
| getThreads(start, max) | GmailThread[] | このラベルでマークされたスレッドの範囲を取得します。 |
| getUnreadCount() | Integer | このラベルでタグ付けされている未読スレッドの数を取得します。 |
| removeFromThread(thread) | GmailLabel | 指定されたスレッドからこのラベルを削除し、スレッドを強制的に更新します。 |
| removeFromThreads(threads) | GmailLabel | 指定したスレッドからこのラベルを削除し、スレッドを強制的に更新します。 |
GmailMessage
ユーザーの Gmail アカウントのメッセージを操作するクラスです。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| createDraftReply(body) | GmailDraft | 返信先アドレスを使用して、このメッセージの送信者に返信するメッセージの下書きを作成します。 |
| createDraftReply(body, options) | GmailDraft | 返信先アドレスとオプションの引数を使用して、このメッセージの送信者に返信するメッセージの下書きを作成します。 |
| createDraftReplyAll(body) | GmailDraft | 返信先アドレスとこのメッセージのすべての受信者を使用して送信者に返信するメッセージの下書きを作成します。 |
| createDraftReplyAll(body, options) | GmailDraft | 返信先アドレスとすべての受信者、およびオプションの引数を使用して、このメッセージの送信者に返信するメッセージの下書きを作成します。 |
| forward(recipient) | GmailMessage | このメッセージを新しい受信者に転送します。 |
| forward(recipient, options) | GmailMessage | このメールを新しい受信者に転送します。引数は省略可能です。 |
| getAttachments() | GmailAttachment[] | このメッセージのすべての添付ファイルを取得します。 |
| getAttachments(options) | GmailAttachment[] | このメッセージのすべての添付ファイルを取得します。 |
| getBcc() | String | このメッセージの Bcc で送信されるカンマ区切りの受信者を取得します。 |
| getBody() | String | このメッセージの本文の HTML コンテンツを取得します。 |
| getCc() | String | このメッセージの Cc で送信されるカンマ区切りの受信者を取得します。 |
| getDate() | Date | このメッセージの日付と時刻を取得します。 |
| getFrom() | String | このメッセージの送信者を取得します。 |
| getHeader(name) | String | 指定されたヘッダー名を持つ RFC 2822 ヘッダーの値を取得します。 |
| getId() | String | このメッセージの ID を取得します。 |
| getPlainBody() | String | HTML 形式ではないこのメッセージの本文の内容を取得します。 |
| getRawContent() | String | このメッセージの未加工のコンテンツを取得します。 |
| getReplyTo() | String | このメッセージの返信先アドレス(通常は送信者)を取得します。 |
| getSubject() | String | このメッセージの件名を取得します。 |
| getThread() | GmailThread | このメッセージを含むスレッドを取得します。 |
| getTo() | String | このメッセージのカンマ区切りの受信者を取得します。 |
| isDraft() | Boolean | このメッセージが下書きかどうかを取得します。 |
| isInChats() | Boolean | このメッセージがチャットかどうかを取得します。 |
| isInInbox() | Boolean | このメッセージが受信トレイにあるかどうかを取得します。 |
| isInPriorityInbox() | Boolean | このメッセージが優先トレイにある場合は true を返し、それ以外の場合は false を返します。 |
| isInTrash() | Boolean | このメッセージがゴミ箱にあるかどうかを取得します。 |
| isStarred() | Boolean | このメッセージにスターが付くかどうかを取得します。 |
| isUnread() | Boolean | このメッセージが未読かどうかを取得します。 |
| markRead() | GmailMessage | メールを既読にします。 |
| markUnread() | GmailMessage | メールを未読にします。 |
| moveToTrash() | GmailMessage | メールをゴミ箱に移動します。 |
| refresh() | GmailMessage | このメッセージと関連する状態を Gmail から再読み込みします(ラベルや既読状態などが変更された場合に役立ちます)。 |
| reply(body) | GmailMessage | 返信先アドレスを使用して、このメッセージの送信者に返信します。 |
| reply(body, options) | GmailMessage | 返信先アドレスを使用して、このメッセージの送信者に返信します。オプションの引数を指定します。 |
| replyAll(body) | GmailMessage | 返信先アドレスを使用して送信者とこのメッセージのすべての受信者に返信します。 |
| replyAll(body, options) | GmailMessage | 返信先アドレスとすべての受信者を使用して、このメッセージの送信者に返信します。引数は任意です。 |
| star() | GmailMessage | メールにスターを付けます。 |
| unstar() | GmailMessage | メッセージのスターを外します。 |
GmailThread
ユーザーの Gmail アカウントのスレッドを操作するクラスになります。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| addLabel(label) | GmailThread | このラベルをスレッドに追加します。 |
| createDraftReply(body) | GmailDraft | 返信先アドレスを使用して、このスレッド内の最後のメッセージの送信者に返信するメッセージの下書きを作成します。 |
| createDraftReply(body, options) | GmailDraft | 返信先アドレスとオプションの引数を使用して、このスレッド内の最後のメッセージの送信者に返信するメッセージの下書きを作成します。 |
| createDraftReplyAll(body) | GmailDraft | 返信先アドレスとこのメッセージのすべての受信者を使用して、スレッド内の最後のメッセージの送信者に返信するメッセージの下書きを作成します。 |
| createDraftReplyAll(body, options) | GmailDraft | 返信先アドレスとすべての受信者、およびオプションの引数を使用して、このスレッド内の最後のメッセージの送信者に返信するメッセージの下書きを作成します。 |
| getFirstMessageSubject() | String | スレッド内の最初のメッセージの件名を取得します。 |
| getId() | String | このスレッドの ID を取得します。 |
| getLabels() | GmailLabel[] | このスレッドでユーザーが作成したラベルを返します。 |
| getLastMessageDate() | Date | このスレッドの最新メッセージの日付を取得します。 |
| getMessageCount() | Integer | スレッド内のメッセージ数を返します。 |
| getMessages() | GmailMessage[] | このスレッドのメッセージを取得します。 |
| getPermalink() | String | このスレッドのパーマリンクを取得します。 |
| hasStarredMessages() | Boolean | スレッドにスター付きメッセージがあるかどうかを返します。 |
| isImportant() | Boolean | スレッドが重要とマークされているかどうかを返します。 |
| isInChats() | Boolean | スレッドにチャットのラベルが付けられているかどうかを返します。 |
| isInInbox() | Boolean | スレッドが受信トレイにあるかどうかを返します。 |
| isInPriorityInbox() | Boolean | このスレッドが優先トレイにある場合は true を返し、それ以外の場合は false を返します。 |
| isInSpam() | Boolean | スレッドがスパムとしてマークされているかどうかを返します。 |
| isInTrash() | Boolean | スレッドがゴミ箱にあるかどうかを返します。 |
| isUnread() | Boolean | スレッドに未読メッセージがあるかどうかを返します。 |
| markImportant() | GmailThread | このスレッドに重要マークを付けます。 |
| markRead() | GmailThread | このスレッドを既読にします。 |
| markUnimportant() | GmailThread | このスレッドを重要ではないとしてマークします。 |
| markUnread() | GmailThread | このスレッドを未読にします。 |
| moveToArchive() | GmailThread | このスレッドをアーカイブに移動します。 |
| moveToInbox() | GmailThread | このスレッドを受信トレイに移動します。 |
| moveToSpam() | GmailThread | このスレッドを [スパム] に移動します。 |
| moveToTrash() | GmailThread | このスレッドをゴミ箱に移動します。 |
| refresh() | GmailThread | このスレッドと、関連する状態を Gmail から再読み込みします(ラベルや読み取り状態などが変更された場合に役立ちます)。 |
| removeLabel(label) | GmailThread | スレッドからこのラベルを削除します。 |
| reply(body) | GmailThread | rememberTo アドレスを使用して、このスレッドの最後のメッセージの送信者に返信します。 |
| reply(body, options) | GmailThread | rememberTo アドレスとオプションの引数を使用して、このスレッドの最後のメッセージの送信者に返信します。 |
| replyAll(body) | GmailThread | 送信者(ReplyTo アドレスを使用して)と、このスレッドの最後のメッセージのすべての受信者に返信します。 |
| replyAll(body, options) | GmailThread | 送信者(replyTo アドレスを使用)と、このスレッドの最後のメッセージのすべての受信者に返信し、オプションの引数を指定します。 |
GmailにはGmail APIという高度な拡張サービスがあり、この API を使用すると、 Gmail メールボックス内のスレッド、メッセージ、ラベルを検索して変更することができます。より詳細なデータを取得することも可能です。
リファレンスドキュメントはこちらになります。
Googleドライブで使うクラス
DriveApp
Googleドライブにアクセスする際に最も使うのがこのDriveAppになります。スクリプトを使用して Google ドライブのファイルとフォルダを作成、検索、変更できます。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| continueFileIterator(continuationToken) | FileIterator | 前のイテレータの継続トークンを使用して、ファイルの反復処理を再開します。 |
| continueFolderIterator(continuationToken) | FolderIterator | 前のイテレータの継続トークンを使用して、フォルダの反復処理を再開します。 |
| createFile(blob) | File | 任意のデータの特定の Blob から、ユーザーのドライブのルートにファイルを作成します。 |
| createFile(name, content) | File | 指定した名前とコンテンツで、ユーザーのドライブのルートにテキスト ファイルを作成します。 |
| createFile(name, content, mimeType) | File | 指定された名前、コンテンツ、MIME タイプのファイルをユーザーのドライブのルートに作成します。 |
| createFolder(name) | Folder | 指定した名前で、ユーザーのドライブのルートにフォルダを作成します。 |
| createShortcut(targetId) | File | 指定されたドライブのアイテム ID へのショートカットを作成して返します。 |
| createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey) | File | 指定されたドライブのアイテム ID とリソースキーへのショートカットを作成して返します。 |
| enforceSingleParent(value) | Void | アイテムの親に影響するすべての呼び出しに対する enforcingSingleParent の動作を有効または無効にします。 |
| getFileById(id) | File | 指定された ID を持つファイルを取得します。 |
| getFileByIdAndResourceKey(id, resourceKey) | File | 指定された ID とリソースキーを持つファイルを取得します。 |
| getFiles() | FileIterator | ユーザーのドライブ内のすべてのファイルのコレクションを取得します。 |
| getFilesByName(name) | FileIterator | ユーザーのドライブ内にある、指定した名前を持つすべてのファイルのコレクションを取得します。 |
| getFilesByType(mimeType) | FileIterator | ユーザーのドライブ内にある、指定された MIME タイプのすべてのファイルのコレクションを取得します。 |
| getFolderById(id) | Folder | 指定された ID のフォルダを取得します。 |
| getFolderByIdAndResourceKey(id, resourceKey) | Folder | 指定された ID とリソースキーを持つフォルダを取得します。 |
| getFolders() | FolderIterator | ユーザーのドライブ内にあるすべてのフォルダのコレクションを取得します。 |
| getStorageUsed() | Integer | ユーザーが現在ドライブに保存しているバイト数を取得します。 |
| getTrashedFiles() | FileIterator | ユーザーのドライブのゴミ箱内にあるすべてのファイルのコレクションを取得します。 |
| getTrashedFolders() | FolderIterator | ユーザーのドライブのゴミ箱内にあるすべてのフォルダのコレクションを取得します。 |
| searchFiles(params) | FileIterator | ユーザーのドライブ内にある、指定した検索条件に一致するすべてのファイルのコレクションを取得します。 |
| searchFolders(params) | FolderIterator | ユーザーのドライブ内にある、指定した検索条件に一致するすべてのフォルダのコレクションを取得します。 |
これらは代表的なクラスにおけるメソッドであり、この他に無数のクラス・メソッドが存在しています。
Googleフォームで使うクラス
FormApp
Googleフォームにアクセスする際に最も使うのがこのFormAppになります。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| create(title) | Form | 新しい Form を作成して返します。 |
| createCheckboxGridValidation() | CheckboxGridValidationBuilder | CheckboxGridItem での検証の設定に使用できるCheckboxGridValidationBuilder のインスタンスを返します。 |
| createCheckboxValidation() | CheckboxValidationBuilder | CheckboxItem での検証の設定に使用できる CheckboxValidationBuilder のインスタンスを返します。 |
| createFeedback() | QuizFeedbackBuilder | 採点可能な Item にフィードバックを設定するために使用できる QuizFeedbackBuilder のインスタンスを返します。 |
| createGridValidation() | GridValidationBuilder | GridItem での検証の設定に使用できる GridValidationBuilder のインスタンスを返します。 |
| createParagraphTextValidation() | ParagraphTextValidationBuilder | ParagraphTextItem の検証の設定に使用できる ParagraphTextValidationBuilder のインスタンスを返します。 |
| createTextValidation() | TextValidationBuilder | TextItem での検証の設定に使用できる TextValidationBuilder のインスタンスを返します。 |
| getActiveForm() | Form | スクリプトがコンテナにバインドされているフォームを返します。 |
| getUi() | Ui | スクリプトがメニュー、ダイアログ、サイドバーなどの機能を追加できるようにするフォーム エディタのユーザー インターフェース環境のインスタンスを返します。 |
| openById(id) | Form | 指定された ID を持つFormを返します。 |
| openByUrl(url) | Form | 指定された URL のFormを開いて返します。 |
CheckboxGridItem
列と行のグリッドとして表示される質問アイテムを操作するクラスです。回答者は、一連のチェックボックスから行ごとに複数の選択肢を選択できます。アイテムは Form からアクセスまたは作成できます。
// IDを指定してフォームを開き、新しいチェックボックスグリッドを作成する
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var item = form.addCheckboxGridItem();
item.setTitle('Where did you celebrate New Years?')
.setRows(['New York', 'San Francisco', 'London'])
.setColumns(['2014', '2015', '2016', '2017']);| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| clearValidation() | CheckboxGridItem | このグリッド アイテムに対するデータの入力規則を削除します。 |
| createResponse(responses) | ItemResponse | このチェックボックスのグリッド アイテム用に新しい ItemResponse を作成します。 |
| duplicate() | CheckboxGridItem | このアイテムのコピーを作成して、フォームの末尾に追加します。 |
| getColumns() | String[] | グリッド内のすべての列の値を取得します。 |
| getHelpText() | String | アイテムのヘルプテキスト(ImageItems、PageBreakItems、SectionHeaderItems などのレイアウト アイテムの説明テキスト)を取得します。 |
| getId() | Integer | アイテムの一意の識別子を取得します。 |
| getIndex() | Integer | フォーム内のすべてのアイテムの中でアイテムのインデックスを取得します。 |
| getRows() | String[] | グリッド内のすべての行の値を取得します。 |
| getTitle() | String | アイテムのタイトル(SectionHeaderItem の場合にヘッダー テキストとも呼ばれます)を取得します。 |
| getType() | ItemType | ItemType で表されるアイテムのタイプを取得します。 |
| isRequired() | Boolean | 回答者が質問に回答する必要があるかどうかを判断します。 |
| setColumns(columns) | CheckboxGridItem | 値の配列に基づいてグリッドの列を設定します。 |
| setHelpText(text) | CheckboxGridItem | アイテムのヘルプテキスト(ImageItems、PageBreakItems、SectionHeaderItems などのレイアウト アイテムの説明テキスト)を設定します。 |
| setRequired(enabled) | CheckboxGridItem | 回答者が質問に回答する必要があるかどうかを設定します。 |
| setRows(rows) | CheckboxGridItem | 値の配列に基づいてグリッドの行を設定します。 |
| setTitle(title) | CheckboxGridItem | アイテムのタイトル(SectionHeaderItem ではヘッダー テキストとも呼ばれます)を設定します。 |
| setValidation(validation) | CheckboxGridItem | このチェックボックスのグリッド アイテムのデータ検証を設定します。 |
CheckboxItem
回答者が 1 つ以上のチェックボックスを選択できる質問アイテムと、オプションの「その他」フィールドを操作するクラスになります。アイテムは Form からアクセスまたは作成できます。テストで使用すると、これらの項目は自動採点されます。
// IDを指定してフォームを開き、新しいチェックボックスを作成する
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var item = form.addCheckboxItem();
item.setTitle('What condiments would you like on your hot dog?')
.setChoices([
item.createChoice('Ketchup'),
item.createChoice('Mustard'),
item.createChoice('Relish')
])
.showOtherOption(true);| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| clearValidation() | CheckboxItem | このチェックボックス項目に対するデータの入力規則をすべて削除します。 |
| createChoice(value) | Choice | 新しい選択肢を作成します。 |
| createChoice(value, isCorrect) | Choice | 新しい選択肢を作成します。 |
| createResponse(responses) | ItemResponse | このチェックボックス項目の新しい ItemResponse を作成します。 |
| duplicate() | CheckboxItem | このアイテムのコピーを作成して、フォームの末尾に追加します。 |
| getChoices() | Choice[] | アイテムのすべての選択肢を取得します。 |
| getFeedbackForCorrect() | QuizFeedback | 質問に正しく回答した回答者に表示されるフィードバックを返します。 |
| getFeedbackForIncorrect() | QuizFeedback | 質問に正しく回答しなかったときに回答者に表示されるフィードバックを返します。 |
| getHelpText() | String | アイテムのヘルプテキスト(ImageItems、PageBreakItems、SectionHeaderItems などのレイアウト アイテムの説明テキスト)を取得します。 |
| getId() | Integer | アイテムの一意の識別子を取得します。 |
| getIndex() | Integer | フォーム内のすべてのアイテムの中でアイテムのインデックスを取得します。 |
| getPoints() | Integer | 採点可能なアイテムの点数を返します。 |
| getTitle() | String | アイテムのタイトル(SectionHeaderItem の場合にヘッダー テキストとも呼ばれます)を取得します。 |
| getType() | ItemType | ItemType で表されるアイテムのタイプを取得します。 |
| hasOtherOption() | Boolean | アイテムに「その他」オプションがあるかどうかを指定します。 |
| isRequired() | Boolean | 回答者が質問に回答する必要があるかどうかを判断します。 |
| setChoiceValues(values) | CheckboxItem | 文字列の配列からアイテムの選択を設定します。 |
| setChoices(choices) | CheckboxItem | 商品アイテムの選択肢の配列を設定します。 |
| setFeedbackForCorrect(feedback) | CheckboxItem | 質問に正しく回答した回答者に表示されるフィードバックを設定します。 |
| setFeedbackForIncorrect(feedback) | CheckboxItem | 質問に正しく回答していない回答者に表示されるフィードバックを設定します。 |
| setHelpText(text) | CheckboxItem | アイテムのヘルプテキスト(ImageItems、PageBreakItems、SectionHeaderItems などのレイアウト アイテムの説明テキスト)を設定します。 |
| setPoints(points) | CheckboxItem | 採点対象のアイテムが持つ点数を設定します。 |
| setRequired(enabled) | CheckboxItem | 回答者が質問に回答する必要があるかどうかを設定します。 |
| setTitle(title) | CheckboxItem | アイテムのタイトル(SectionHeaderItem ではヘッダー テキストとも呼ばれます)を設定します。 |
| setValidation(validation) | CheckboxItem | このチェックボックス項目のデータ検証を設定します。 |
| showOtherOption(enabled) | CheckboxItem | アイテムに「その他」オプションがあるかどうかを設定します。 |
Choice
選択肢をサポートするItemタイプに関連付けられた単一の選択肢について操作できるクラスです。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| getGotoPage() | PageBreakItem | レスポンダーがこれを選択して現在のページを完了した場合、GO_TO_PAGE デスティネーションとして設定された PageBreakItem を取得します。 |
| getPageNavigationType() | PageNavigationType | 回答者がこの選択肢を選択して現在のページを完了した場合に発生する PageNavigationType を取得します。 |
| getValue() | String | 回答者がフォームを表示したときにラベルとして表示される選択肢の値を取得します。 |
| isCorrectAnswer() | Boolean | 選択が問題の正解かどうかを取得します。 |
DateItem
回答者が日付を選択できる質問アイテムを操作できるクラスです。アイテムはFormからアクセスまたは作成できます。
// IDを用いてフォームを開き、新しい日付アイテムを追加する
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var item = form.addDateItem();
item.setTitle('When were you born?');| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| createResponse(response) | ItemResponse | この日付項目の新しい ItemResponse を作成します。 |
| duplicate() | DateItem | このアイテムのコピーを作成して、フォームの末尾に追加します。 |
| getGeneralFeedback() | QuizFeedback | 採点可能な質問に回答したときに回答者に表示されるフィードバックを返します。 |
| getHelpText() | String | アイテムのヘルプテキスト(ImageItems、PageBreakItems、SectionHeaderItems などのレイアウト アイテムの説明テキスト)を取得します。 |
| getId() | Integer | アイテムの一意の識別子を取得します。 |
| getIndex() | Integer | フォーム内のすべてのアイテムの中でアイテムのインデックスを取得します。 |
| getPoints() | Integer | 採点可能なアイテムの点数を返します。 |
| getTitle() | String | アイテムのタイトル(SectionHeaderItem の場合にヘッダー テキストとも呼ばれます)を取得します。 |
| getType() | ItemType | ItemType で表されるアイテムのタイプを取得します。 |
| includesYear() | Boolean | 日付項目に年オプションを含めるかどうかを指定します。 |
| isRequired() | Boolean | 回答者が質問に回答する必要があるかどうかを判断します。 |
| setGeneralFeedback(feedback) | DateItem | 正解または不正解のない採点可能な質問(手動採点が必要な質問など)に回答者が回答したときに表示されるフィードバックを設定します。 |
| setHelpText(text) | DateItem | アイテムのヘルプテキスト(ImageItems、PageBreakItems、SectionHeaderItems などのレイアウト アイテムの説明テキスト)を設定します。 |
| setIncludesYear(enableYear) | DateItem | 日付項目に年の設定を含めるかどうかを設定します。 |
| setPoints(points) | DateItem | 採点対象のアイテムが持つ点数を設定します。 |
| setRequired(enabled) | DateItem | 回答者が質問に回答する必要があるかどうかを設定します。 |
| setTitle(title) | DateItem | アイテムのタイトル(SectionHeaderItem ではヘッダー テキストとも呼ばれます)を設定します。 |
DateTimeItem
回答者が日時を提示できる質問アイテムを操作できるクラスです。アイテムはFormからアクセスまたは作成できます。
// IDを指定してフォームを開き、新しいDateTimeアイテムを追加する
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var item = form.addDateTimeItem();
item.setTitle('When do you want to meet?');| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| createResponse(response) | ItemResponse | この日時の項目の新しい ItemResponse を作成します。 |
| duplicate() | DateTimeItem | このアイテムのコピーを作成して、フォームの末尾に追加します。 |
| getGeneralFeedback() | QuizFeedback | 採点可能な質問に回答したときに回答者に表示されるフィードバックを返します。 |
| getHelpText() | String | アイテムのヘルプテキスト(ImageItems、PageBreakItems、SectionHeaderItems などのレイアウト アイテムの説明テキスト)を取得します。 |
| getId() | Integer | アイテムの一意の識別子を取得します。 |
| getIndex() | Integer | フォーム内のすべてのアイテムの中でアイテムのインデックスを取得します。 |
| getPoints() | Integer | 採点可能なアイテムの点数を返します。 |
| getTitle() | String | アイテムのタイトル(SectionHeaderItem の場合にヘッダー テキストとも呼ばれます)を取得します。 |
| getType() | ItemType | ItemType で表されるアイテムのタイプを取得します。 |
| includesYear() | Boolean | 日付項目に年オプションを含めるかどうかを指定します。 |
| isRequired() | Boolean | 回答者が質問に回答する必要があるかどうかを判断します。 |
| setGeneralFeedback(feedback) | DateTimeItem | 正解または不正解のない採点可能な質問(手動採点が必要な質問など)に回答者が回答したときに表示されるフィードバックを設定します。 |
| setHelpText(text) | DateTimeItem | アイテムのヘルプテキスト(ImageItems、PageBreakItems、SectionHeaderItems などのレイアウト アイテムの説明テキスト)を設定します。 |
| setIncludesYear(enableYear) | DateTimeItem | 日付項目に年の設定を含めるかどうかを設定します。 |
| setPoints(points) | DateTimeItem | 採点対象のアイテムが持つ点数を設定します。 |
| setRequired(enabled) | DateTimeItem | 回答者が質問に回答する必要があるかどうかを設定します。 |
| setTitle(title) | DateTimeItem | アイテムのタイトル(SectionHeaderItem ではヘッダー テキストとも呼ばれます)を設定します。 |
これらは代表的なクラスにおけるメソッドであり、この他に無数のクラス・メソッドが存在しています。
Googleスライドで使うクラス
SlidesApp
Googleスライドにアクセスする際に最も使うのがこのSlidesAppになります。編集可能な Presentations を作成して開きます。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| create(name) | Presentation | 新しいPresentationを作成して返します。 |
| getActivePresentation() | Presentation | スクリプトがコンテナにバインドされている現在アクティブなプレゼンテーションを返します。アクティブなプレゼンテーションがない場合は null を返します。 |
| getUi() | Ui | スクリプトがメニュー、ダイアログ、サイドバーなどの機能を追加できるようにするプレゼンテーションのユーザー インターフェース環境のインスタンスを返します。 |
| newAffineTransformBuilder() | AffineTransformBuilder | AffineTransform を構築するための新しい AffineTransformBuilder を返します。 |
| openById(id) | Presentation | 指定された ID を持つPresentationを返します。 |
| openByUrl(url) | Presentation | 指定された URL のPresentationを開いて返します。 |
これらは代表的なクラスにおけるメソッドであり、この他に無数のクラス・メソッドが存在しています。
まとめ
GAS(Google Apps Script)のクラス・関数・メソッド一覧としていくつかの代表的なクラス・関数・メソッドを紹介していきましたが、いかがだったでしょうか。
全てまとめると、その数は非常に膨大な数になります。そのため、よく使うクラス・メソッドはある程度覚えた上で、実装に必要なクラスやメソッドを逆引きしていくというやり方が良いかと思います。
まだまだこれら以外にもたくさんのクラス・メソッドが存在するので、気になる方は公式のリファレンスも是非ご覧ください。
是非、用意されているデフォルトのクラス・メソッドを利用して、より業務の効率化を目指してみてください!
\GASを使ってこんなことができます!/




コメント