

”従業員”というフォーム内の質問の回答にプルダウンで回答してもらいます。  
スプシの「プルダウン」タブ，K2:Kがプルダウンに入る内容です。（K1はタイトルです）

というわけで、以下のコードを作成しましたが、エラーが出てしまい上手くいきません。  
2つのサイトを参考にやったのですが、、、ご教授ください。

[code]

    function empList() {
    
      /**
      // スプレッドシートの情報を取得する
      // 
      **/
    
      //スプレッドシートのID　→「https://docs.google.com/spreadsheets/d/△△△/edit#gid=0」の△△△を↓に記述
      var sheets = SpreadsheetApp.openById('△△△').getSheets();
    
    // タブ「プルダウン」の情報を取得
    var sheetName = "プルダウン"; 
    
    // スプレッドシート上のシートオブジェクトを取得
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
    
    
      // スプレッドシートのK1のセルが従業員名（フォームのプルダウン）の場合
      if("従業員名（フォームのプルダウン）" == sheet.getRange("K1").getValue()){
    
        // K行の2行目からコンテンツをもつ最後の行までの値を配列で取得する
        var colA = sheet.getRange(2, 11, sheet.getLastRow() - 1).getValues();
      }
    
      /**
      // Googleフォームのプルダウン内の値を上書きする
      // 
      **/
    
      // GoogleフォームのIDを設定　→「https://docs.google.com/forms/d/〇〇〇/edit」の〇〇〇を↓に記述
      var form = FormApp.openById('〇〇〇');
    
      // 質問項目がプルダウンのもののみ取得
      var items = form.getItems(FormApp.ItemType.LIST);
    
      items.forEach(function(item){
        // 質問項目が「従業員」を含むものに対して、スプレッドシートの内容を反映する
        if(item.getTitle().match(/従業員.*$/)){
          var listItemQuestion = item.asListItem();
          var choices = [];
    
          colA.forEach(function(name){
            if(name != ""){
              choices.push(listItemQuestion.createChoice(name));
            }
          });
    
          // プルダウンの選択肢を上書きする
          listItemQuestion.setChoices(choices);
        }
      });
    
    }
    
[/code]


CC BY-SA 4.0
2023-07-18T18:03:41.903
95678
2023-07-18T18:03:41.903
59153
question
javascript google-apps-script google-spreadsheet
【googleフォームとスプシの連携】設定した質問のプルダウンを、シートから引っ張りたい。