GoogleフォームをGASで自動入力する方法:初心者向けガイド

GASでGoogleフォームに自動入力するってどうやればいいんだろう?誰かに教えてもらえないかな…
猫男
猫男
catman
catman
ふふっ、catmanが力を貸してやろう。GASでGoogleフォームを自動入力する方法を教えてやるさ。

GASでGoogleフォームを自動入力するための準備

Googleフォームに自動でデータを入力するためには、まずGASのスクリプトを設定する必要がある。

Googleフォームとスプレッドシートを連携する

はじめに、Googleフォームの回答を保存するスプレッドシートを作成しなければならない。

スプレッドシートにフォームの回答を保存するために、Googleフォームの設定で「回答を保存」を有効にする。

新しいGASプロジェクトを作成する

次に、GoogleスプレッドシートからGASプロジェクトを新規作成する。

スプレッドシートを開き、「拡張機能」から「スクリプトエディタ」を選択し、新規プロジェクトを作成する。

GASでGoogleフォームにデータを自動入力するコードを書く

GASスクリプトを用いて、Googleフォームにデータを自動で埋め込む方法を学んでいこう。

GASスクリプトを設定する

以下のGASスクリプトでフォームに自動入力を実現しよう。


function autoFillGoogleForm() {
  var formUrl = 'https://docs.google.com/forms/d/your-form-id/formResponse';
  var data = {
    // フォームの各項目に対応する名前属性と値を設定
    'entry.1234567890': 'John Doe',
    'entry.0987654321': 'johndoe@example.com'
  };
  
  var options = {
    'method': 'post',
    'payload': data
  };

  UrlFetchApp.fetch(formUrl, options);
}

formUrlにはGoogleフォームの回答URLを設定する。

dataオブジェクトには、Googleフォームで設定されている各項目の名前と、その項目に入力したい値をペアで設定する。

UrlFetchApp.fetch()を使用してフォームにデータを送信する。methodは’post’を指定し、データはpayloadとして送信される。

GASスクリプトをテストする

スクリプトが正しく設定されたかテストしよう。

スクリプトを実行して確認する

スクリプトエディタで自動入力スクリプトを実行し、Googleフォームに正しくデータが入力されるか確認する。

スクリプトを実行するとき、GASの権限承認が求められるはずだ。表示される指示に従って承認を行う必要がある。

catman、これでGASを使ってGoogleフォームに自動入力する準備が整ったみたいだ!
猫男
猫男
catman
catman
いいぞ!これで君のスクリプトももっとスマートになるさ。どんどん自動化を進めていこう。

練習問題:GASを使ったGoogleフォーム自動入力

Googleフォームの各項目に対して異なる名前でAutoFillを試してみましょう。次に試す項目は、フォームに「年齢」と「フィードバック」を入力してください。

解答・解説


function autoFillGoogleForm() {
  var formUrl = 'https://docs.google.com/forms/d/your-form-id/formResponse';
  var data = {
    'entry.1234567890': 'John Doe', // 名前
    'entry.0987654321': 'johndoe@example.com', // メール
    'entry.1122334455': '25', // 年齢
    'entry.5544332211': 'これからも頑張ってください!' // フィードバック
  };
  
  var options = {
    'method': 'post',
    'payload': data
  };

  UrlFetchApp.fetch(formUrl, options);
}

このスクリプトでは、フォームに追加された「年齢」と「フィードバック」の項目にデータを入力する方法を示している。

各フォーム項目のentry.IDは、GoogleフォームのHTMLコードを調査して対応するものを指定する必要がある。