谷歌表单脚本填充

Google Form Script Population

本文关键字:填充 脚本 表单 谷歌      更新时间:2023-09-26

我正试图用从谷歌表单中抓取的问题填充一个谷歌表单。目前,当我运行代码时,我正在创建问题,但只有25%左右的人真正有字符串,其余的都是空白的。每次运行脚本时,正确出现的问题都会发生变化。这似乎是随机的。

function formPopulation() { 
  var ss = SpreadsheetApp.openById("--");
  var sheet = ss.getSheetByName('Tracker');
  var auditTool = ss.getSheetByName('Audit Tool');
  var validatorInfo = ss.getSheetByName('Validator Info');
  //Sheet Info
  var rows = auditTool.getLastRow(); //Number of Rows
  var columns = auditTool.getLastColumn(); //Number of Columns
  var startRow = 1; 
  var startColumn = 1; 

  var dataRange = auditTool.getRange(startRow, startColumn, rows, columns);  
  //getRange(first row of data, first column of data, last row of data, last column of data)
  var data = dataRange.getValues();
  //Sets working range of script
  var form = FormApp.openById("--");
  var item = form.addListItem();
  var entityName = "";
  var arrayOfEntities = [];
  var newEntity = '';
  for (var i = 4; i < columns; i++) {
     //4 because that is where entity names begin 
     entityName = data[i][2];
     Logger.log('entityName: ' + entityName);
     newItem = item.createChoice(entityName);
     arrayOfEntities.push(newItem);
  };
  item.setTitle("Select Entity").setChoices(arrayOfEntities);
  var requirement = "";
  var arrayOfRequirements = [];
  var newRequirement = '';
  for (var j = 5; j < rows; j++) {
     //5 because that is where Requirements begin
     if (data[0][j] != null)  {
     requirement = data[0][j];
           if (requirement != "" || requirment != null){
             requirement = "question #" + j; 
             Logger.log('requirement: ' + requirement);
             form.addMultipleChoiceItem().setTitle(requirement).setChoiceValues(['Complete', 'Incomplete']);  
      };
     };
   };
};

第一个问题应该是一个多选项,其中每个"实体"都是一个选项。剩下的问题应该是每个"要求"标记为完整还是不完整。这是我在上使用的电子表格

您有一个拼写错误:if(requirement!="|| requirement!=null){

应为"要求"

  • 在最后一个forloop 中

    requirement="问题#"+j;

  • 请核实一下,可以吗?或者你应该使用

    requirement="问题#"+j+''+data[0][j];