GASでフォームの質問を作成・操作する方法~add〇〇~
GASでフォームを操作することで、自動化の一部に組み込むことができます。
ただ、フォームの質問を作成・管理する方法はいくつかメソッドがあります。
この記事では、GASでフォームの質問を作成、操作するメソッド、実際のコードについて解説します。
紹介しているコードは実際に動くことをテストしていますので、使って見ていただければと思います!
目次(クリックで読みたい部分にジャンプできます)
フォームに質問を追加する
まずは、フォームに任意の質問を追加してみましょう。
フォームに質問を追加するには、
質問の種類ごとに追加するためのメソッドが準備されています。
今回は代表して以下4つのメソッドを紹介します。
質問を追加するメソッド
Form オブジェクト .addCheckbocItem();
チェックボックスの追加
Form オブジェクト .addListItem();
プルダウンの追加
Form オブジェクト .addMultipleChoiceItem();
ラジオボタンの追加
Form オブジェクト .addTextItem();
記述式の追加
では、これらを用いて実際に動作させて見ましょう。
【使用例】質問を追加するコード
先ほど紹介したメソッドを使用して、質問を追加してみます。
muFunction(){
const form = FormApp.create('テストフォーム');
form.addTextItem();
form.addMultipleChoiceItem();
form.addCheckbocItem();
form.addListItem();
}
しかし、これで追加できるのは質問の形式のみで、質問の内容は操作できません。
質問の内容を操作する
先ほど、質問を作成しただけですが、それぞれの質問内容などを操作していきましょう。
そのために以下のメソッドを使用します。
質問の内容を操作するメソッド
createChoice()
アイテムに選択肢を追加する
getChoices()
アイテムから全ての選択肢を取得する
isRequired()
アイテムの回答が必須かどうかを判定する
setChoices()
アイテムに選択肢の配列を設定する
setChoiceValues()
アイテムに文字列の配列valuesから選択肢を設定する
setRequired()
アイテムの回答が必須かどうかを設定する
showOtherOption
アイテムが「その他」オプションを持つかどうかを設定する
では、これらのメソッドを実際に使用して見ましょう!
【使用例】質問の内容を操作する
先ほどのフォームを作成するメソッドに追加していきます。
muFunction(){
const title = "テストフォーム"
const description = "自由に説明文を記入。"
const form = FormApp.create(title);
form.setDescription(description);
form.addTextItem().setTitle("氏名").setRequired(true);
form.addMultipleChoiceItem().setTitle("性別は?").setChoiceValues(["男","女"]).setRequired(true);
form.addCheckboxItem().setTitle("趣味は?").setChoiceValues(["山登り","海水浴","マラソン"]).showOtherOption(true);
form.addListItem().setTitle("お住まいの都道府県は?").setChoiceValues(["東京都","埼玉県","千葉県","神奈川県"]);
}
例としてはタイトルと説明文を追加。
必須にする場合、選択肢をつけるパターンを表示しています。
今回は、直接文字列を入れていますが、これらを文字列をスプレッドシートから取得することでより実用的にすることができます。
まとめ
今回は、フォームの質問を作成・操作するメソッドについて紹介しました。
フォームの情報を取得することで、現在のフォームの情報も併せて操作することができるようになります。
フォームの情報取得には、以下の記事を試して見てください。