Google Apps Script(GAS) Google Forms Part(3)

GAS

はじめに

こんにちは、swim-loverです。初心者向けのGoogle Apps Script (GAS) Google Forms の記事です。第2回は、Google Apps Script(GAS)を使って、Google Formsにテキストを追加する方法について説明しました。第3回は、ラジオボタンの追加方法について紹介したいと思います。

前回までのおさらい

  • 第1回は、スプレッドシートの内容をもとに、スクリプトを記述し、フォームの新規作成
  • 第2回は、フォームへテキスト(Mailアドレスと氏名の入力フォーム)を追加する方法

GAS ‘ラジオボタンを追加する(1)’

function createEventForm(){
 
  const MAX_ENTRY=3; //max entry num,エントリー可能な種目数
  const ss = SpreadsheetApp.getActiveSpreadsheet();//get active spread spped,現在開いているスプレッドシートを取得
  const values = ss.getSheetByName('イベント内容').getDataRange().getValues();
  const dataValues = ss.getSheetByName('種目リスト').getDataRange().getValues();
  
  const formTitle = values[0][1]; //read cell[0][1],title,タイトル
  const formDescription = values[1][1]; //read cell[1][1],event content,内容
 
  const form = FormApp.create(formTitle);// create new form

  form.setDescription(formDescription);//set form description、フォームの説明欄

  //Add text
  const validationEmail = FormApp.createTextValidation().requireTextIsEmail().build();
  form.addTextItem().setTitle('メールアドレス').setRequired(true).setValidation(validationEmail);
  form.addTextItem().setTitle('氏名').setRequired(true);

  //Add choice item
  form.addMultipleChoiceItem()
    .setTitle('性別/sex')
    .setChoiceValues(['男性/Male','女性/Female'])
    .setRequired(true);

}

form.addMultipleChoiceItem().setTitle()によって、ラジオボタンのタイトルを設定します。

次に、setChoiceValues()によって、選択肢を追加しました。

また、 .setRequired(true)によって、入力必須の項目としました。

スクリプトの実行と結果の確認

追加したスクリプトファイルを実行して、結果を確認してみましょう。

性別のラジオボタンが追加されています。また、必須の入力項目として *マークも付いています。

GAS ‘ラジオボタンを追加する(2)’

ラジオボタンを追加するメソッドには、別のメソッドも用意されています。

  //Add choice item(part1)
  /*
  form.addMultipleChoiceItem()
    .setTitle('性別/sex')
    .setChoiceValues(['男性/Male','女性/Female'])
    .setRequired(true);
  */
  //Add choice item(part2)
   var item=form.addMultipleChoiceItem()
   item.setTitle('性別/sex')
   item.setChoices([
       item.createChoice('男性/Male'),
       item.createChoice('女性/Female')])
   item.setRequired(true);

この例では、setChoiceValues() に替えて、setChoices()を使っています。

setChoices() を使うには、createChoice()で選択肢を作成する必要があるようです。前者(1)の setChoiceValues() の方がコード数が少なく済みます。

まとめ

今回は、性別の選択肢をアンケートフォームに追加する方法を紹介してみました。次回もさらにアンケート内容を充実させていきたいと思います。

コメント

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