使用触发器根据X列中的值移动行

时间:2019-05-14 00:28:39

标签: google-apps-script google-sheets triggers

我正在寻找一种解决方案,当函数在触发器上运行时,它将基于指定单元格中的内容移动整个行的内容。我可以使用工作表中的onEdit(e)完成此操作,但是在运行“常规”版本时,什么也没有发生。没有错误。

在编辑单元格时,我经常使用这种类型的功能,但是对于此特定工作表,我需要它在调用时(通过触发器,手动等)起作用。

function archive(){
  // assumes source data in sheet named Form Responses
  // target sheet of move to named ARCHIVE
  // Target col is B (3)
  // Target value is "TEST" to move to "ARCHIVE"

var sheet = SpreadsheetApp.getActiveSpreadsheet();
var mainSheet = sheet.getSheetByName("Form Responses");
var r = mainSheet.getActiveRange();

if(r.getColumn() == 3 && r.getValue() >= "TEST"){
   var row = r.getRow();
   var numColumns = mainSheet.getLastColumn();
   var targetSheet = sheet.getSheetByName("ARCHIVE");
   var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
   mainSheet.getRange(row, 1, 1, numColumns).copyTo(target, {contentsOnly:true});
    mainSheet.deleteRow(row);
   }
}

运行时,工作表没有任何反应。没有错误,没有日志等。

0 个答案:

没有答案