Google Apps Script の使い方

Google Apps Script (GAS)は、Googleスプレッドシートやフォームなどのサービスと連携し、 作業の自動化や簡易アプリケーションの構築ができるスクリプト実行環境です。 現在はV8ランタイムに対応(2020年3月17日)していて、モダンなJavaScript環境のひとつとして使うことができます。 ブラウザだけで開発・実行できるのが大きな特徴です。

一方で、GAS特有の制約として、モジュール分割(ESModule)やimport/export文がそのままでは利用できません。 そのため、コード量が増えてくるにつれて構造化が難しくなり、 保守性の低下といった課題に直面しやすくなります。

このページでは、GASエディターを直接編集するのではなく、 ローカルで開発・ビルドしてからGASにデプロイするという開発スタイルを紹介します。 具体的には、次の3段階のワークフローになります。

  1. TypeScripttsc --noEmit)で型チェックする

  2. rollupで1つのファイルにバンドルする

  3. clasp pushでGAS環境にアップロードする

このワークフローに加えて、テスト(jest)やフォーマッター/リンター(biome)、 APIドキュメント生成(typedoc)といった補助ツールも組み合わせることで、 GASプロジェクトを通常のTypeScriptプロジェクトと同じように開発・保守できるようになります。

注釈

GASの情報を検索すると、新しい書き方と古い書き方が混在したコード片が多く見つかります。 とくにV8ランタイム以前の記述や、現在では推奨されない書き方がそのまま紹介されているケースもあります。 そのため、単にサンプルコードを流用するだけでは、動かないこともたくさんあります。

このページでは、ウェブに落ちているコードを、どのように読み替えるかについても整理することを目指します。

環境構築したい

TypeScriptrollupclaspという開発チェーンと、 それを支える補助ツールの使い方をまとめています。

JS/TSしたい

変数・関数・クラスなど、GASに限らないJavaScript/TypeScriptの基本文法をまとめています。

GAS操作したい

LoggerSpreadsheetAppなど、GAS固有のクラス・サービスAPIの使い方をまとめています。

リファレンス