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(["東京都","埼玉県","千葉県","神奈川県"]);

}

例としてはタイトルと説明文を追加。

必須にする場合、選択肢をつけるパターンを表示しています。

今回は、直接文字列を入れていますが、これらを文字列をスプレッドシートから取得することでより実用的にすることができます。

まとめ

今回は、フォームの質問を作成・操作するメソッドについて紹介しました。

フォームの情報を取得することで、現在のフォームの情報も併せて操作することができるようになります。

フォームの情報取得には、以下の記事を試して見てください。

(Visited 19 times, 1 visits today)