【GAS】Googleフォームの回答時にGASでイベントを発生させる方法
Googleフォームを使うと、簡単にデータを収集できますが、その回答のタイミングでGoogle Apps Script(GAS)でイベントを発生させ、スプレッドシートに独自の配置に記録する等の処理をすることも可能です。本記事では、Googleフォームの送信時にスプレッドシートへ自動追加し、イベントが発火するように設定する方法を解説します。
1. Googleフォームの回答をスプレッドシートに自動追加
まず、Googleドライブ上にGoogleフォームを作成します。
まずば、こんな感じでフォームを完成させておきます。
「回答」タブを開くと以下のような画面になり、そこにあるスプレッドシートのアイコンをクリックします。
以下のような画面が現れるので、「新しいスプレッドシートを作成」を選びましょう。もちろん既にシートが用意されているのであれば既存のシートを選択でもOKです。
この設定を行うことで、フォームの回答がスプレッドシートに自動的に記録されます。準備はここまで。
2. function onFormSubmit(e) でイベント発火
フォームが送信される(=スプレッドシートにデータが追加される)タイミングで処理を実行するには、Google Apps Script を使います。
スプレッドシートの「拡張機能」→「Apps Script」を開きましょう。
コードエディタに以下のコードを入力しましょう。
このスクリプトは、フォーム送信時に onFormSubmit イベントが発火し任意の処理を行います。
function onFormSubmit(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var response = e.values; // フォームの回答データ
//ここに処理を書く
}
3. スクリプトにトリガーを設定
トリガーを設定しフォーム送信時に自動でスクリプトが動くようにします。
左側の時計アイコン(トリガー)をクリックします。
左下の青いボタン「トリガーを追加」を選択」をクリックすると以下の画面が現れます。設定を以下のように変更しましょう。保存し、アクセス権限の承認が求められたら許可します。
- 実行する関数名:onFormSubmit
- イベントの種類:フォーム送信時
これで、フォームが送信されるたびに onFormSubmit(e) が実行されるようになります。
4. まとめ
- Googleフォームの回答をスプレッドシートにリンク
- onFormSubmit(e) を使って、フォーム送信時に処理を実行
- Apps Script にトリガーを設定し、自動実行を有効化
これで、Googleフォームの回答をスプレッドシートに自動追加し、イベントが正しく発火する環境を構築できます。
スポンサーリンク







