スポンサーリンク

Googleフォームのプルダウンの質問へ、スプレッドシートに設定している選択肢のリストを設定することができます。

次のようにスプレッドシートにプルダウンの選択肢に設定する値を設定しているとします。

設定している値が以下のようにプルダウンの選択肢へ設定を行います。

コード

/**
 * 果物を選択するプルダウンに、スプレッドシートに設定している果物を設定する。
 */
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){
        // @ts-ignore
        if(fruits != ""){
          // @ts-ignore
          choices.push(listItemQuestion.createChoice(fruits));
        }
      });

      // プルダウンの選択肢を上書きする
      listItemQuestion.setChoices(choices);
    }
  });
}
スポンサーリンク
おすすめの記事