GAS(Google App Script)でプログラムを記述する際、GAS独自のクラスや関数・メソッドを利用する事がよくあるかと思います。
特に、他のGoogleサービスと連携させる時は必ずと言っていいほど用意されたクラス・メソッドを使うことでしょう。
今回は、スプレッドシートに焦点を当てて、よく使う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サービスにアクセスする際は、そのファイルをGASが操作しても良いか初回実行時に必ず聞かれます。これを承認しないと、GASが動作しないので、基本的には画面の指示に沿って承認作業を続行してください。
詳しい操作方法はこちらの記事に記載しています

スプレッドシートでよく使うGASのクラス・関数・メソッド一覧
それでは、ここから「スプレッドシート」でよく使うGASのクラス・関数・メソッド一覧をご紹介します。
スプレッドシートで用意されているGASのメソッド数は大量にあるため、全てを覚え切ることは通常不可能です。よく使うもの・必要なものに絞って覚えることで、効率よくスクリプトが書ける様になります。
SpreadsheetAppクラス
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| create(name) | Spreadsheet | 指定した名前で新しいスプレッドシートを作成します。 |
| getActiveSheet() | Sheet | スプレッドシート内のアクティブ シートを取得します。 |
| getActiveSpreadsheet() | Spreadsheet | 現在アクティブなスプレッドシートを返します。スプレッドシートがない場合は null を返します。 |
| openById(id) | Spreadsheet | 指定された ID のスプレッドシートを開きます。 |
| openByUrl(url) | Spreadsheet | 指定した URL のスプレッドシートを開きます。 |
Spreadsheetクラス
Google スプレッドシート ファイルにアクセスして変更するクラスになります。
一般的な操作は、新しいシートの追加や共同編集者の追加になります。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| addMenu(name, subMenus) | void | スプレッドシートの UI に新しいメニューを作成します。 |
| getId() | String | このスプレッドシートの一意の識別子を取得します。 |
| getUrl() | String | 指定したスプレッドシートの URL を返します。 |
| getName() | String | ドキュメントの名前を取得します。 |
| setActiveSheet(sheet) | Sheet | 指定したシートをスプレッドシート内のアクティブ シートに設定します。 |
| addEditor(emailAddress) | Spreadsheet | 指定されたユーザーを Spreadsheet の編集者のリストに追加します。 |
| addViewer(emailAddress) | Spreadsheet | 指定されたユーザーを Spreadsheet の閲覧者リストに追加します。 |
| deleteColumn(columnPosition) | Sheet | 指定された列位置の列を削除します。 |
| deleteColumns(columnPosition, howMany) | void | 指定された列位置から始まるいくつかの列を削除します。 |
| deleteRow(rowPosition) | Sheet | 指定された行位置の行を削除します。 |
| deleteRows(rowPosition, howMany) | void | 指定された行位置から始まるいくつかの行を削除します。 |
Sheetクラス
スプレッドシート シートにアクセスして変更するクラスになります。
一般的な操作としては、シート名の変更や、シートから範囲オブジェクトへのアクセスなどがあります。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| appendRow(rowContents) | Sheet | シート内の現在のデータ領域の一番下に行を追加します。 |
| clear() | Sheet | コンテンツと書式設定情報のシートをクリアします。 |
| deleteRow(rowPosition) | Sheet | 指定された行位置の行を削除します。 |
| deleteRows(rowPosition, howMany) | void | 指定された行位置から始まるいくつかの行を削除します。 |
| insertRowAfter(afterPosition) | Sheet | 指定された行位置の後に行を挿入します。 |
| insertRowBefore(beforePosition) | Sheet | 指定された行位置の前に行を挿入します。 |
| getName() | String | シートの名前を返します。 |
| setName(name) | Sheet | シート名を設定します。 |
| updateChart(chart) | void | このシートのグラフを更新します。 |
Rangeクラス
スプレッドシートの範囲にアクセスして変更するクラスです。
範囲には、シート内の単一のセル、またはシート内の隣接するセルのグループを指定できます。
| メソッド | 戻り値の値 | 説明 |
|---|---|---|
| activateAsCurrentCell() | Range | 指定されたセルを current cell として設定します。 |
| clear() | Range | コンテンツと形式の範囲をクリアします。 |
| getCell(row, column) | Range | 範囲内の指定されたセルを返します。 |
| getColumn() | Integer | この範囲の開始列位置を返します。 |
| getLastColumn() | Integer | 終了列の位置を返します。 |
| getRow() | Integer | この範囲の行の位置を返します。 |
| getLastRow() | Integer | 終了行の位置を返します。 |
| getSheet() | Sheet | この範囲が属するシートを返します。 |
| getValue() | Object | 範囲内の左上のセルの値を返します。 |
| getValues() | Object[][] | この範囲の値の長方形グリッド(2次配列)を返します。 |
| setValue(value) | Range | 範囲の値を設定します。 |
| setValues(values) | Range | 値の長方形のグリッドを設定します(この範囲のディメンションと一致する必要があります)。 |
まとめ
今回は、「スプレッドシート」でよく使うGASのクラス・関数・メソッド一覧ということで頻出のメソッド紹介を行いました。皆さんが使ったことのあるメソッドはありましたでしょうか。
今回紹介したもの意外にもグラフなどを描画するクラスや、色や書式を操作するメソッドなど多数のメソッドがあるので、気になる方は是非公式ドキュメントも合わせてご覧ください。


コメント