Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何使用脚本将数据从google表单复制到其他表单?_Google Apps Script_Google Sheets_Spreadsheet - Fatal编程技术网

Google apps script 如何使用脚本将数据从google表单复制到其他表单?

Google apps script 如何使用脚本将数据从google表单复制到其他表单?,google-apps-script,google-sheets,spreadsheet,Google Apps Script,Google Sheets,Spreadsheet,我正在尝试使用脚本将数据从google forms表复制到一个更“前端”的表中 这一切基本上都可以正常工作,除了如果我多次重新加载页面,每次重新加载时,一些数据会向下推几行 前4列从表“RAW”复制到“FRONT”中,但后4列仅与前4列一起排序。在前4列中,它们也有点“不粘”在对应的内容上 这是复选框的问题吗 第一次重新加载后(外观): 第二次重新加载后: 原始床单看起来也很奇怪。。。为什么谷歌表单输入的数据那么低 “重新加载”页面将再次执行onOpen功能。您确定不想手动执行它们吗?如果

我正在尝试使用脚本将数据从google forms表复制到一个更“前端”的表中

这一切基本上都可以正常工作,除了如果我多次重新加载页面,每次重新加载时,一些数据会向下推几行

前4列从表“RAW”复制到“FRONT”中,但后4列仅与前4列一起排序。在前4列中,它们也有点“不粘”在对应的内容上

这是复选框的问题吗

第一次重新加载后(外观):

第二次重新加载后:

原始床单看起来也很奇怪。。。为什么谷歌表单输入的数据那么低


“重新加载”页面将再次执行onOpen功能。您确定不想手动执行它们吗?如果它“自动”重新加载以保持工作表始终处于排序状态,那就太好了。我使用脚本这样做的主要原因是,用户不必自己设置任何过滤器,因为最后4列没有连接到G表单表,因此它们不能与前4列一起排序。手动执行脚本应该会得到相同的结果,不是吗?也许在再次填充之前“全部清除”可以工作…“重新加载”页面会再次执行onOpen功能。您确定不想手动执行它们吗?如果它“自动”重新加载以保持工作表始终处于排序状态,那就太好了。我使用脚本这样做的主要原因是,用户不必自己设置任何过滤器,因为最后4列没有连接到G表单表,因此它们不能与前4列一起排序。手动执行脚本应该会得到相同的结果,不是吗?也许在再次填充之前“清除所有”可以工作。。。
function onOpen() {

  fillSheet();
  sortSheet();
  colorize();

}

//fill FRONT sheet with data from RAW sheet

function fillSheet(){

  //get active sheet
  var sheet=SpreadsheetApp.getActiveSheet();

  //align column 1
  var fillRange_employee = sheet.getRange("FRONT!A4:A" + sheet.getLastRow());
  var copyRange_employee = sheet.getRange("RAW!B2:B" + sheet.getLastRow());

  //align column 2
  var fillRange_task = sheet.getRange("FRONT!B4:B" + sheet.getLastRow());
  var copyRange_task = sheet.getRange("RAW!C2:C" + sheet.getLastRow());

  //align column 3
  var fillRange_timestamp = sheet.getRange("FRONT!C4:C" + sheet.getLastRow());
  var copyRange_timestamp = sheet.getRange("RAW!A2:A" + sheet.getLastRow());

  //align column 4
  var fillRange_priority = sheet.getRange("FRONT!D4:D" + sheet.getLastRow());
  var copyRange_priority = sheet.getRange("RAW!D2:D" + sheet.getLastRow());

  //style 
  copyRange_priority.setHorizontalAlignment("center");
  copyRange_priority.setVerticalAlignment("center");


  //copy-paste
  copyRange_employee.copyTo(fillRange_employee);
  copyRange_task.copyTo(fillRange_task);
  copyRange_timestamp.copyTo(fillRange_timestamp);
  copyRange_priority.copyTo(fillRange_priority);


}

//colorize "priority" column
function colorize(){

  var i = 4;

  //get active sheet
  var sheet=SpreadsheetApp.getActiveSheet();

  //loop through column until no entries
  while(sheet.getRange("FRONT!D"+ i).getValue() != ""){

    //set different colors
    if(sheet.getRange("FRONT!D"+ i).getValue() == "[1]"){
      sheet.getRange("FRONT!D"+ i).setBackground("#FA5858");

    }else if(sheet.getRange("FRONT!D"+ i).getValue() == "[2]"){
      sheet.getRange("FRONT!D"+ i).setBackground("#FE9A2E");

    }else if(sheet.getRange("FRONT!D"+ i).getValue() == "[3]"){
      sheet.getRange("FRONT!D"+ i).setBackground("#FAF332");

    }else if(sheet.getRange("FRONT!D"+ i).getValue() == "[4]"){
      sheet.getRange("FRONT!D"+ i).setBackground("#89FA7F");

    }else if(sheet.getRange("FRONT!D"+ i).getValue() == "[5]"){
      sheet.getRange("FRONT!D"+ i).setBackground("#68ADF8");

    }

    i++;
  }
}

//sort sheet
function sortSheet(){

  //get active sheet
  var sheet=SpreadsheetApp.getActiveSheet();

  //get sorting range
  var sortRange=sheet.getRange("FRONT!A4:H" + sheet.getLastRow());

  //sort
  sortRange.sort([{column: 4, ascending: true},{column: 1, ascending: true}]);
}