繁体   English   中英

基于谷歌表格上的单元格值的数据传输

[英]data transfert based on cell value on google sheet

我不擅长编码,我试图混合我找到的一些代码并制作我需要的东西,但现在我面临一个难题,所以我正在尝试何时按下我创建的按钮来运行脚本发送在最后一列中具有例如“X”的数据。 我成功地从一张纸发送到另一张纸,但它现在发送所有数据我只想发送带有“X”的选定数据。 任何帮助我将不胜感激。 这是我的代码谢谢

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var copySheet = ss.getSheetByName("Sheet1");
  var url = "https://docs.google.com/spreadsheets/d/15nIAXcP0a14OvvBr5lww4tO23stQD4PEu0QDAcgaFyE/edit#gid=0";
  var ss2 = SpreadsheetApp.openByUrl(url);
  var pasteSheet = ss2.getSheetByName("Sheet2");

    // get source range
  var max = copySheet.getMaxRows().toString();
  var range = copySheet.getRange(2,1,max,4);
  var dataValues = range.getValues();
  
  for(var i = 1; i < dataValues.length; i++)
  {
    if(dataValues[i][5] === 'X')
    {
      copySheet.appendRow([dataValues[i][0], 
                          dataValues[i][1], 
                          dataValues[i][2], 
                          dataValues[i][3], 
                          dataValues[i][4]]);
    }
  }

  for(var i = 1; i < dataValues.length; i++)
  {
    if(dataValues[i][5] === 'X')
    {
      var clearRow = i+1;
      dataSheet.getRange('A' + clearRow + ':F' + clearRow).clear();
    }
  }

  // get destination range
  var destination = pasteSheet.getRange(pasteSheet.getLastRow()+1,1,max,1);

  // clear source values 
  Browser.msgBox('Commande Confirmer');
}

这就是你的功能所做的一切

dataSheet 未定义,所以我认为它是 csh

function lfunko() {
  const ss = SpreadsheetApp.getActive();
  const csh = ss.getSheetByName("Sheet1");
  const ss2 = SpreadsheetApp.openByUrl("ssurl");
  const psh = ss2.getSheetByName("Sheet2");
  var vs = csh.getRange(2, 1, csh.getLastRow() - 1, csh.getLastColumn()).getValues();
  vs.forEach((r,i) => {
    if (vs[i][5] === 'X') {
      csh.appendRow([vs[i][0], vs[i][1], vs[i][2], vs[i][3], vs[i][4]]);
      csh.getRange(i + 1, 1, 1, 6).clear();
    }
  });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM