Google Formsで「その他」の回答があると次回の選択肢に追加するGoogle Apps Script(GAS)

Google Formsで「その他」の回答があると次回の選択肢に追加するGoogle Apps Script(GAS):

GAS初心者で、JavaScript初心者です。

グーグルフォームを使ったアンケートで「その他」を入れておくと選択式の質問に記述式の選択肢が表れます。

フォームに回答があった時をトリガーにして下記のスクリプトを走らせると、「その他」で書かれた回答が次回から選択肢に追加されるので手書きする必要がなくなる、そんな内容です。

悪意を持った回答者がいない環境で使いましょう。選択肢が再現なく増えてどんどん荒れていくので使う場面には注意が必要です。

見よう見まねで書いてみてこれで追加できるようになりました。


スクリプトの内容

function AddChoice() { 
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("フォームの回答 1"); 
  var form = FormApp.openByUrl("https://docs.google.com/forms/d/編集したいフォームのIDとかURLを/"); 
  var items = form.getItems(FormApp.ItemType.MULTIPLE_CHOICE); 
  for (var i = 0; i < items.length; i++){                                                                                           
    if (items[i].getTitle()=='追加したい質問のタイトル(質問内容)'){                                            
      var question = items[i].asMultipleChoiceItem() 
      break; 
    } 
  } 
  var choices = question.getChoices(); 
//やる気があれば質問のタイトルのテキストが何列目かを拾って下さい。↓ 
  var lastanswer = sheet.getRange(sheet.getLastRow() , 何列目かスプレッドシートを確認して番号を入れる).getValue(); 
  for (var i = 0; i < choices.length; i++){ 
    if (choices[i] == lastanswer){                                            
    //同じ選択肢が既にあればそのまま終了 
  break; 
    //ループが最後まできたら最後の回答を新しい選択肢として追加 
    }else if(i == choices.length -1){ 
      choices.push(question.createChoice(lastanswer)) 
      question.setChoices(choices) 
//GASでループじゃなくてファンクションを抜けるにはどうすればいいの????? 
      break; 
  }   
  } 
} 


トリガーの設定

回答があるとこのスクリプトが実行されるように仕込みます。

1. 「編集」ー「現在のプロジェクトのトリガー」

2. 右下にある「トリガーの追加」

3. 「イベントの種類を選択」を「フォーム送信時」にして、「保存」します。

その他を使って回答して、「別の回答を送信」(次回以降)で項目が増えていれば成功です。


参考文献

https://developers.google.com/apps-script/reference/forms/form
https://tonari-it.com/gas-form-add-items/
https://tonari-it.com/gas-form-generate-choices/
https://teratail.com/questions/45539
https://qiita.com/Gunsei_Paseri/items/2245a10a31b26b68953f
https://takakisan.com/gas-form-send-email-tutorial/
https://www.genius-web.co.jp/blog/cat-118/gasskip.html

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)