移动行并取消选中复选框

时间:2019-05-03 19:57:30

标签: google-apps-script

我想移动一堆脚本部分正在运行的行,在脚本完成后,我想取消选中复选框,但我尚未实现此目的,但是我没有收到任何错误的提示。

function moveRows() {
var ss, s, t, arr, del, ts, v;
    ss = SpreadsheetApp.getActive();
    s = ss.getSheetByName('sheetname');
    ts = 
SpreadsheetApp.openById("worksheet id"); 
    t = ts.getSheetByName('sheetname');  
    arr = [];
    v = s.getDataRange().getValues();
   for(var i = v.length-1; i >=0; i--) {
   if (v[i] && v[i][21] == 'yes') { 
        arr.unshift(v[i]);
        v[i][21] = 'NO'

        }
   }
if(arr.length > 0 ) t.getRange(t.getLastRow() + 1, 1, arr.length, arr[0].length).setValues(arr)
 }

1 个答案:

答案 0 :(得分:0)

尝试一下:

function moveRows() {
  var sss=SpreadsheetApp.getActive();
  var tss=SpreadsheetApp.openById("Target Spreadsheet Id"); 
  var ssh=sss.getSheetByName('Source Sheet Name');
  var srg=ssh.getDataRange();
  var svA=srg.getValues();
  var tsh=tss.getSheetByName('Target Sheet Name');  
  for(var i=svA.length-1;i>0; i--) {
    if (svA[i][21]==true) { //column 22 Indices are 1 less that columns
      svA[i][21]=false;     
    }
  }
  tsh.getRange(tsh.getLastRow()+1,1,svA.length,svA[0].length).setValues(svA);//load target sheet
  srg.setValues(svA);//save values in source sheet
}

我想我终于弄清楚了您想对其他数组执行的操作。我认为您想捕获选中了复选框的所有行。这就是下面的功能。

function moveRows() {
  var sss=SpreadsheetApp.getActive();
  var tss=SpreadsheetApp.openById("Target Spreadsheet Id"); 
  var ssh=sss.getSheetByName('Source Sheet Id');
  var srg=ssh.getDataRange();
  var svA=srg.getValues();
  var tsh=tss.getSheetByName('Target Sheet Id');  
  var oA=[];//output array for rows that meet criteria
  for(var i=svA.length-1;i>1; i--) {
    if (svA[i][21]==true) { //column 22
      oA.push(svA[i].slice());//this copies the row array
      svA[i][21]=false; \//uncheck checkbox    

    }
  }
  tsh.getRange(tsh.getLastRow()+1,1,oA.length,oA[0].length).setValues(oA);//load target sheet with rows with check boxes checked
  srg.setValues(svA);//save values in source sheet 
}

运行功能之前

enter image description here

运行后功能:

enter image description here

目标电子表格:

enter image description here