GASでGoogleフォームに追加できる質問の種類とそのメソッドまとめ


question-mark

photo credit: M i x y que? via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

GASでGoogleフォームを作成する方法についてお伝えしています。

前回の記事はコチラ。

Googleフォームの質問の選択肢をスプレッドシートのデータから生成するGAS関数の作り方
GASでGoogleフォームを一気に作成するツールを作成しています。今回はGoogleフォームの質問の選択肢をスプレッドシートのデータから生成するGAS関数の作り方について解説をしていきます。

スプレッドシートからフォームの質問の選択肢を生成する関数の作り方を解説しました。

さて、前回まででGoogleフォームをGASで作るツールとしてはだいたい完成という感じなのですが、フォームの質問の種類って他にもたくさんありますよね。

ということで、今回はGoogleフォームの質問の種類と、それらを作るGASのメソッドをまとめて紹介したいと思います。

では、行ってみましょう!

スポンサーリンク

Googleフォームの色々な質問を作成するスクリプト

これまでの連載のパターンで、フォームに質問を追加するのは、Formオブジェクトのaddなんちゃらメソッドである、というのはつかんでいます。

なので、公式ドキュメントからそれ系のメソッドを一通り引っ張ってきて、実行してみたいと思います。

こんなスクリプトを作りました。

function addFormItems(){
  var formTitle = 'フォームの各質問の追加テスト';  
  var form = FormApp.create(formTitle);

  //保存するフォルダの指定
  var FOLDER_ID = PropertiesService.getScriptProperties().getProperty('FOLDER_ID');
  var formFile = DriveApp.getFileById(form.getId());
  DriveApp.getFolderById(FOLDER_ID).addFile(formFile);
  DriveApp.getRootFolder().removeFile(formFile);
  
  form.addTextItem().setTitle('TextItem'); //記述式
  form.addMultipleChoiceItem().setTitle('MultipleChoiceItem'); //ラジオボタン
  form.addCheckboxItem().setTitle('CheckboxItem'); //チェックボックス   
  form.addListItem().setTitle('ListItem'); //プルダウンリスト
  
  form.addPageBreakItem().setTitle('PageBreakItem');
  
  form.addParagraphTextItem().setTitle('ParagraphTextItem');

  form.addScaleItem().setTitle('ScaleItem');
  form.addGridItem().setTitle('GridItem');
  form.addCheckboxGridItem().setTitle('CheckboxGridItem');
  
  form.addDateItem().setTitle('DateItem');
  form.addTimeItem().setTitle('TimeItem');
  form.addDateTimeItem().setTitle('DateTimeItem');
  form.addDurationItem().setTitle('DurationItem');

}

11~14行目までは、これまで登場した質問を追加するメソッドですね。

16行目以降は、メソッド名でなんとなくこれかな?と思えるものと、全く想像ができないものと…

ちなみに、引数には各メソッドにより生成され戻り値として渡されるオブジェクトのクラス名です。

では、実行してみましょう!

フォームの色々な質問をGASで作成した結果

1画面目

まず、編集画面とプレビュー画面がコチラです。

GASで作成したフォームの編集画面その1

GASで作成したフォームのプレビュー画面その1

まずはこれまでに登場した質問たちですね。

  • TextItem: 記述式
  • MultipleChoiceItem: ラジオボタン
  • CheckboxItem: チェックボックス
  • ListItem: プルダウンリスト

最後に「次へ」ボタンがあるのがちょっと気になりますね…

2画面目

続いて、2画面目の編集画面とプレビュー画面です。

GASで作成したフォームの編集画面その2

GASで作成したフォームのプレビュー画面その2

この質問たちは以下のようなものです。

  • PageBreakItem: ページの切り替え
  • ParagraphTextItem: 段落記述式
  • ScaleItem: 数値形式の一連のラジオボタン
  • GridItem: 行列型のラジオボタン
  • CheckboxGridItem: 行列型のチェックボックス

3画面目

最後の3画面目の編集画面とプレビュー画面です。

GASで作成したフォームの編集画面その3

お?なんとなくアイコンからして日付や時間系ですね。

GASで作成したフォームのプレビュー画面その3

3画面目に登場した質問は以下になります。

  • DateItem: 日付
  • TimeItem: 時刻
  • DateTimeItem: 日付と時刻
  • DurationItem: 経過時間

GASで作成できる質問とそのメソッドのまとめ

以上で、フォームにどのような質問を追加できるかがわかりましたよね?

フォームで追加できる質問とそのオブジェクトのクラス名、そして追加するメソッドをまとめると以下のようになります。

質問の種類 クラス名 追加するメソッド
記述式 TextItem addTextItemメソッド
ラジオボタン MultipleChoiceItem addMultipleChoiceItemメソッド
チェックボックス CheckboxItem addCheckboxItemメソッド
プルダウンリスト ListItem addListItemメソッド
ページの切り替え PageBreakItem addPageBreakItemメソッド
段落記述式 ParagraphTextItem addParagraphTextItemメソッド
数値形式の一連のラジオボタン ScaleItem addScaleItemメソッド
行列型のラジオボタン GridItem addGridItemメソッド
行列型のチェックボックス CheckboxGridItem addCheckboxGridItemメソッド
日付 DateItem addDateItemメソッド
時刻 TimeItem addTimeItemメソッド
日付と時刻 DateTimeItem addDateTimeItemメソッド
経過時間 DurationItem addDurationItemメソッド

まとめ

以上、GASでGoogleフォームに追加できる質問の種類とそのメソッドまとめについてお伝えしました。

あとは、もちろん、これらのメソッドについて質問のタイトルや選択肢などを追加していく必要がありますね。

ぜひ、公式ドキュメントを調べながらトライしていただければと思います。

また、便利なツールについて思いついたら記事にしますね。

どうぞお楽しみに!

連載目次:GASでGoogleフォームを一発で作成するツールを作る

イベントの申し込みやアンケートにとっても便利なGoogleフォーム。スプレッドシートの入力内容をもとに、一発でフォームを作成するツールを作っていきます。
  1. GASでGoogleフォームを作成する最も簡単なスクリプト
  2. GASで作成したGoogleフォームを指定のフォルダに移動する方法
  3. GASでGoogleフォームに記述式の質問を追加する方法
  4. GASでGoogleフォームにメールアドレスの入力欄とバリデーションを追加する方法
  5. GASでGoogleフォームにラジオボタンの質問を追加する方法
  6. GASでGoogleフォームにチェックボックス形式の質問を追加する方法
  7. GASでGoogleフォームにプルダウンリストの質問を追加する方法
  8. Googleフォームの質問の選択肢をスプレッドシートのデータから生成するGAS関数の作り方
  9. GASでGoogleフォームに追加できる質問の種類とそのメソッドまとめ

タイトルとURLをコピーしました