みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
GASでGoogleフォームを作成する方法についてお伝えしています。
前回の記事はコチラ。
スプレッドシートからフォームの質問の選択肢を生成する関数の作り方を解説しました。
さて、前回までで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画面目
まず、編集画面とプレビュー画面がコチラです。
まずはこれまでに登場した質問たちですね。
- TextItem: 記述式
- MultipleChoiceItem: ラジオボタン
- CheckboxItem: チェックボックス
- ListItem: プルダウンリスト
最後に「次へ」ボタンがあるのがちょっと気になりますね…
2画面目
続いて、2画面目の編集画面とプレビュー画面です。
この質問たちは以下のようなものです。
- PageBreakItem: ページの切り替え
- ParagraphTextItem: 段落記述式
- ScaleItem: 数値形式の一連のラジオボタン
- GridItem: 行列型のラジオボタン
- CheckboxGridItem: 行列型のチェックボックス
3画面目
最後の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フォーム。スプレッドシートの入力内容をもとに、一発でフォームを作成するツールを作っていきます。- GASでGoogleフォームを作成する最も簡単なスクリプト
- GASで作成したGoogleフォームを指定のフォルダに移動する方法
- GASでGoogleフォームに記述式の質問を追加する方法
- GASでGoogleフォームにメールアドレスの入力欄とバリデーションを追加する方法
- GASでGoogleフォームにラジオボタンの質問を追加する方法
- GASでGoogleフォームにチェックボックス形式の質問を追加する方法
- GASでGoogleフォームにプルダウンリストの質問を追加する方法
- Googleフォームの質問の選択肢をスプレッドシートのデータから生成するGAS関数の作り方
- GASでGoogleフォームに追加できる質問の種類とそのメソッドまとめ