Googleフォームのプルダウンにスプレッドシートに設定した選択肢を設定する方法
Googleフォームのプルダウンの質問へ、スプレッドシートに設定している選択肢のリストを設定することができます。
次のようにスプレッドシートへ、プルダウンの選択肢に設定する値を設定しているとします。
Google Apps Script(GAS)で、設定している値が以下のようにプルダウンの選択肢へ設定を行います。
コード
/**
* 果物を選択するプルダウンに、スプレッドシートに設定している果物を設定する。
*/
function setFruitChoice() {
// 果物を設定しているスプレッドシートを取得('▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲'の部分はスプレッドシートのIDを設定)
const spreadsheet = SpreadsheetApp.openById('▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲');
// 果物を設定しているシートを取得
const sheet = spreadsheet.getSheetByName('リスト');
// 配列で設定されている果物を取得
const fruitList = sheet.getRange(2, 1, sheet.getLastRow() - 1).getValues();
// Googleフォームを開く
const form = FormApp.getActiveForm();
// リストタイプの質問だけを取得
var items = form.getItems(FormApp.ItemType.LIST);
items.forEach(function(item){
// 質問のタイトルでリストを設定する質問かチェック
if(item.getTitle() == '果物') {
// 質問のリストアイテムを取得
var listItemQuestion = item.asListItem();
var choices = [];
fruitList.forEach(function(fruits){
if(fruits != ""){
choices.push(listItemQuestion.createChoice(fruits));
}
});
// プルダウンの選択肢を上書きする
listItemQuestion.setChoices(choices);
}
});
}