Google Apps Script(GAS)は、Googleが提供するプログラミング言語です。GASのベースは、JavaScriptがもとになっています。
GASを利用することで、Googleサービス(スプレッドシート、Googleドライブ、Googleカレンダーなど)と連携するカスタムスクリプトを簡単に作成することができます。
今回は、GASの基本的な使い方について解説していきます。
スタンドアロン型とコンテナバインド型
GASには、2種類のスクリプトが存在します。
スタンドアロン型は、Googleサービス全般と連携可能な独立したスクリプトです。
一方、コンテナバインド型は特定のGoogleサービス(スプレッドシートやドキュメントなど)に紐づけられたスクリプトです。
項目 | スタンドアロン型 | コンテナバインド型 |
---|---|---|
保存方法 | Googleドライブ上で単体ファイルとして保存 | 特定のGoogleサービス(スプレッドシート、ドキュメント等)のファイルに紐付けされて保存 |
作成方法 | Googleドライブから新規作成 | 連携するGoogleサービスの「スクリプトエディタ」から作成 |
コンテナバインド型は、コンテナとなるGoogleサービスに関するトリガーを設置できます。
スタンドアロン型は、ライブラリ作成の用途で活用できます。
(複数のスプレッドシートで活用したい処理などをライブラリとして記述。)
スタンドアロン型のはじめかた
作成
Googleドライブにアクセスし、左上の「新規」ボタンをクリックします。
「その他」の中にある「Google Apps Script」を選択します。
実行
以下コードを入力します。
function myFunction() {
console.log("hello world!")
}
実行をクリックすると、下部の実行ログに出力されました。
トリガー設定して実行
作成した関数を実行するためのトリガー設定方法を確認します。
トリガーを選択します。
トリガーを追加を選択すると左記の設定画面が表示されます。
実行する関数を選択します。
選択した関数を、指定タイミングで実行させるように設定できます。
コンテナバインド型のはじめかた
作成
拡張機能内のApps Scriptを選択するとスクリプトエディタが表示されます。
実装
例として、下記コードを入力します。特定のセルに入力したら、別セルに同じ値が入力されます。
function onEdit(e) {
// 入力を監視するセルの範囲を指定します。
var sheetName = "シート1";
var monitoredRange = "A1";
// 反映先のセルを指定します。
var targetSheetName = "シート1";
var targetRange = "B1";
var sheet = e.source.getSheetByName(sheetName);
var targetSheet = e.source.getSheetByName(targetSheetName);
// 編集されたセルが監視対象のセルかどうかを確認します。
var editedRange = e.range.getA1Notation();
if (sheetName === e.source.getSheetName() && editedRange === monitoredRange) {
// 監視対象のセルが編集された場合、その値を反映先のセルにコピーします。
var value = sheet.getRange(monitoredRange).getValue();
targetSheet.getRange(targetRange).setValue(value);
}
}
実行
A1セルに「あいうえお」と入力すると、スクリプト関数が実行されて、B1セルにも入力されました。
Apps Scriptダッシュボード
コンテナバインド型の場合、どこにスクリプトを作成したか把握しづらくなります。
Apps Scriptのダッシュボード( https://script.google.com/home ) にアクセスすると以下のように、作成したスクリプトを把握できます。