Google apps script 将移动脚本中的变量加倍(Google)

Google apps script 将移动脚本中的变量加倍(Google),google-apps-script,Google Apps Script,对于我的工作,我试图自动将标记行移动到“历史记录”表中。我目前已经成功地按照一个示例使用了1个变量(请参见副本)。 现在我想要两个变量。除了列K->Completed,我还想添加列J需要为True function onEdit(event){ var url = "https://docs.google.com/spreadsheets/d/1per7L2wPkMKrzVgv5npQ-2RQ8fkWzslo09Ntlzy4qAs/edit?ts=6034e66e#gid=0&qu

对于我的工作,我试图自动将标记行移动到“历史记录”表中。我目前已经成功地按照一个示例使用了1个变量(请参见副本)。 现在我想要两个变量。除了列K->Completed,我还想添加列J需要为True

function onEdit(event){
  var url = "https://docs.google.com/spreadsheets/d/1per7L2wPkMKrzVgv5npQ-2RQ8fkWzslo09Ntlzy4qAs/edit?ts=6034e66e#gid=0";
  var source_sheet_name = "Werklijst";
  var target_sheet_name = "Historie";
  var columnLetter = "J";
  
  var ss= SpreadsheetApp.openByUrl(url);
  var source_sheet = ss.getSheetByName(source_sheet_name);
  var target_sheet = ss.getSheetByName(target_sheet_name);
  var source_range = source_sheet.getRange(columnLetter+":"+columnLetter).getValues();
  
  for(var i = source_range.length-1; i >= 0;i--){
    if(source_range[i]=="COMPLETE"){
      var targetRange = target_sheet.getRange(target_sheet.getLastRow() + 1, 1);
      source_sheet.getRange((i+1), 1, 1, source_sheet.getLastColumn()).moveTo(targetRange);
      source_sheet.deleteRow((i+1));
    }
  } 
}

这是一份上述表格的副本(荷兰语)。

显而易见的解决方案是这样做:

  var columnLetter1 = "K";
  var columnLetter2 = "J";
  var source_range1 = source_sheet.getRange(columnLetter1+":"+columnLetter1).getValues();
  var source_range2 = source_sheet.getRange(columnLetter2+":"+columnLetter2).getValues();
然后将
if
语句更改为:

if(source_range1[i]=="COMPLETE" && source_range2[i]==true)
包含修改点的用户代码的完整片段:

函数onEdit(事件){
变量url=”https://docs.google.com/spreadsheets/d/1per7L2wPkMKrzVgv5npQ-2RQ8fkWzslo09Ntlzy4qAs/edit?ts=6034e66e#gid=0";
var来源表\u name=“Werklijst”;
var target_sheet_name=“Historie”;
var columnLetter1=“K”;
var columnLetter2=“J”;
var ss=SpreadsheetApp.openByUrl(url);
var source\u sheet=ss.getSheetByName(source\u sheet\u name);
var target\u sheet=ss.getSheetByName(target\u sheet\u name);
var source_range1=source_sheet.getRange(columnLetter1+“:“+columnLetter1).getValues();
var source_range2=source_sheet.getRange(columnLetter2+“:“+columnLetter2).getValues();
对于(变量i=source_range.length-1;i>=0;i--){
if(source_range1[i]=“COMPLETE”&&source_range2[i]==true){
var targetRange=target\u sheet.getRange(target\u sheet.getLastRow()+1,1);
source_sheet.getRange((i+1),1,1,source_sheet.getLastColumn()).moveTo(targetRange);
来源表.删除行((i+1));
}
} 

}
人们将如何做到这一点?我不是编剧/程序员。我在这里几乎没有触及表面。@Thomasrooyakers我实际上建议您接受这个答案,如果它通过单击答案左侧的勾选按钮解决了您的原始问题,然后发布一个关于脚本优化的专用问题。这样,未来的读者将从这两个问题中受益。