GAS
Google Apps Script
概要(サマリー)
GAS(Google Apps Script、ジーエーエス)とは、Googleが提供するJavaScriptベースのクラウド型プラットフォームである。「GAS」は日本で広く使われる略称で、Google公式の製品名は「Apps Script」である。
スプレッドシートやGmail、Googleドライブ、GoogleフォームなどのGoogleが提供する各種サービスを自動化したり、それらを互いに連携させたりすることができます。専用の開発環境を用意する必要がなく、ブラウザ上でコードを書くだけで簡単に実行できるのが大きな特徴です。
詳細解説
GASとは何か
Apps Scriptは、Google Workspace(スプレッドシートやドキュメントなど)の機能を拡張・自動化するためのプラットフォームである。
V8ランタイムを使うと、const、let、アロー関数などのモダンなECMAScript構文を利用できる。ただし、ブラウザやNode.jsと同じAPIがすべて使えるわけではなく、window、fetch、setTimeout、ES Modulesなどには制限がある。
GASでできること
GASを使用すると、日常の事務作業やデータ処理を大幅に効率化できます。代表的な用途としては、以下のようなものがあります。
- スプレッドシートに入力されたデータを集計し、自動でグラフ化する
- Googleフォームに回答があった際に、自動でGmailから確認メールを送る
- 毎日決まった時間にWeb上の情報を収集し、スプレッドシートに書き出す
- Googleカレンダーの予定をもとに、チャットツール(SlackやLINEなど)へ通知を送る
GASの基本的な書き方
GASのコードは、スプレッドシートなどの「拡張機能」メニューから「Apps Script」を選択することで、ブラウザ上でエディタを開いて記述します。
以下は、スプレッドシートのアクティブな(現在開いている)シートのA1セルに「Hello, World!」と書き込む最もシンプルなコード例です。
function writeHelloWorld() {
// 現在開いているスプレッドシートのアクティブなシートを取得します
const sheet = SpreadsheetApp.getActiveSheet();
// A1セルに「Hello, World!」という文字を書き込みます
sheet.getRange("A1").setValue("Hello, World!");
}
このコードを実行すると、Googleが用意している SpreadsheetApp という専用の命令(API)が動き、シートに直接文字が書き込まれます。
トリガー機能による自動実行
GASの非常に便利な機能の一つに「トリガー」があります。
トリガーを設定すると、時間、シートの編集、フォーム送信などをきっかけに処理を自動実行できる。時間主導トリガーは指定時刻と完全に一致せず、一定の時間帯内で実行時刻が調整される場合がある。また、インストール型トリガーは作成者のアカウント権限で動作し、割り当て制限も受ける。
セキュリティ上の注意点
GASは非常に便利な反面、Googleアカウントの強力な権限(メールの送信、ファイルの削除など)をプログラムで操作するため、扱いには注意が必要です。
信頼できない他人が作ったスクリプトを中身がわからないままコピーして実行してしまうと、意図せず個人情報が流出したり、スパムメールを送信してしまったりする危険性があります。自分が理解できるコードのみを実行するよう心がけましょう。
AIコーディングとの関係
GASは、AIコーディングと非常に相性が良い技術の一つです。
JavaScriptがベースであるため、AIは高品質なコードを生成しやすく、さらにGoogle Workspaceの各種APIについても豊富な知識を持っています。
AIにGASのコードを生成してもらうときは、以下のように具体的に指示を出すと、実用的なコードがすぐに得られます。
- 「Googleスプレッドシートの宛先リストから1件だけテスト送信し、確認後に上限件数を指定できるApps Scriptを書いてください」
- 「Googleドライブの古いファイル候補を一覧表示し、確認後にだけゴミ箱へ移動するApps Scriptを作ってください」
また、GASを実行する際に表示されるアクセス承認の警告画面について対処法を聞くなど、導入時のサポートもAIに頼ることができます。
よくある勘違い
JavaScriptとGASは完全に別のプログラミング言語?
Apps ScriptはECMAScriptをベースにしており、条件分岐、ループ、関数などの基本文法はJavaScriptと共通している。
ただし、サーバー側のApps ScriptランタイムにブラウザのDOMや window はない。一方で、HTML Serviceを使ってWebアプリや画面を作ることはできる。
自分のパソコンに開発環境を作る必要がある?
GASを実行するのに、Node.jsのインストールや専用のエディタ(VS Codeなど)を自分のパソコンにインストールする必要はありません。
Googleアカウントさえあれば、ブラウザの画面上だけでコードの記述、実行、デバッグ、トリガーの設定まですべて完結します。
GASを使えばパソコン内のファイルも自動操作できる?
GASはGoogleのクラウドサーバー上で実行されるプログラムです。
そのため、自分のパソコン(ローカル環境)のハードディスク内にあるファイルを直接開いたり、PC内のソフトウェアを起動したりすることはできません。操作できるのは、Googleドライブ上にあるファイルや、インターネットを経由してアクセスできるWebサービスに限られます。
まとめ
- GAS(Google Apps Script)は、Googleサービスを自動化するためのJavaScriptベースの環境である
- スプレッドシートの操作、メール送信、フォーム連携などを簡単に行うことができる
- 特定の時間やイベントに合わせて自動実行する「トリガー」機能が備わっている
- サーバーなどの面倒な環境構築が不要で、ブラウザだけで開発を始められる
情報ソース
- Google Apps Script 公式ドキュメント
- Apps Script Reference overview
- Google Apps Script: V8 runtime overview
- Google Apps Script: Installable Triggers
より詳しくAIに聞いてみよう
- GASとは何か、プログラミング初心者に向けて分かりやすく教えてください。
- スプレッドシートからGmailへ、特定条件のときに自動でメールを送信するGASの書き方を教えてください。
- GASの「トリガー」とは何ですか。定期実行の設定手順を含めて説明してください。
- 他の人が書いたGASのコードを実行する際、アクセス承認(権限許可)の画面が出る理由とセキュリティ対策を教えてください。
- AIを使ってGASのデバッグやエラー解消を行うときの、プロンプトのコツを教えてください。