入門(はじめかた、スタンドアロン型、コンテナバインド型)

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 ) にアクセスすると以下のように、作成したスクリプトを把握できます。

よかったらシェアしてね!
目次