Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.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

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
Javascript 如何获取最后一行并复制所需的列_Javascript_Google Apps Script_Google Sheets_Google Forms - Fatal编程技术网

Javascript 如何获取最后一行并复制所需的列

Javascript 如何获取最后一行并复制所需的列,javascript,google-apps-script,google-sheets,google-forms,Javascript,Google Apps Script,Google Sheets,Google Forms,我希望得到任何帮助,让脚本在提交表单上工作,然后执行最后一行(新表单提交信息)从“新订单”表中,然后将所需列复制到“DIBOND Orders”表中,以便自动将新客户订单所需的产品放置到从不同供应商订购的所需订单表中 因为我们有几家不同的服装、人行道、展台和展示产品供应商 我现在的代码是 function onEdit() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = ss.getActiveSheet(); var

我希望得到任何帮助,让脚本在提交表单上工作,然后执行最后一行(新表单提交信息)从“新订单”表中,然后将所需列复制到“DIBOND Orders”表中,以便自动将新客户订单所需的产品放置到从不同供应商订购的所需订单表中

因为我们有几家不同的服装、人行道、展台和展示产品供应商

我现在的代码是

   function onEdit() {

 var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();
var r = ss.getActiveRange();
if(s.getName() == "New Orders" && r.getColumn() == 5 && r.getValue() == "DIBOND") {

    var row = r.getRow();

    var numColumns = s.getLastColumn();

    var TSS = ss.getSheetByName("DIBOND ORDERS");
             var lastRow = TSS.getLastRow()+1;
      var cntr = 0
    s.getRange(row,2).copyTo(TSS.getRange(lastRow + cntr,1), {contentsOnly:true});
    s.getRange(row,5).copyTo(TSS.getRange(lastRow + cntr,2), {contentsOnly:true});
    s.getRange(row,6).copyTo(TSS.getRange(lastRow + cntr,4), {contentsOnly:true});
    s.getRange(row,4).copyTo(TSS.getRange(lastRow + cntr,8), {contentsOnly:true});
    s.getRange(row,7).copyTo(TSS.getRange(lastRow + cntr,5), {contentsOnly:true});
    s.getRange(row,8).copyTo(TSS.getRange(lastRow + cntr,6), {contentsOnly:true});
    s.getRange(row,9).copyTo(TSS.getRange(lastRow + cntr,7), {contentsOnly:true});
    //s.deleteRow(row);
}}
如果我在工作表上作为“编辑”功能,但无法将其作为“表单提交”功能激活,则此功能非常有效

我一直在试图找到一种方法来删除活动表,活动范围。。。要通过使用为“获取最后一行”设置

 SpreadsheetApp.openById("ID").getRangeByName("New Orders");
开始认为这是不可能的,或者我错过了什么

如果有任何帮助,我将不胜感激


提前感谢Russell。

这将获得活动电子表格上的最后一行(名为onEdit的电子表格)和名为“DIBOND ORDERS”的表格

function getLastLine(){ 
  var ss    = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("DIBOND ORDERS");
  var range = sheet.getDataRange(); // gets all the data. 
  var values = range.getValues();
  Logger.log("LAST ROW : " + values[values.length -1] );
}