简体   繁体   中英

why this code for appscript is not working?

My code allows to move row if col5=Published . I wanted to add more like- if col5=Published or Deleted or Denied function will work. I've tried to use like it

var valueToWatch = ("Published","Deleted","Denied"); 

But its not working. It only takes last string Denied not working for Published or Deleted

  var sheetNameToWatch = "Sheet1";
  var columnNumberToWatch = 5; // column A = 1, B = 2, etc.
  var valueToWatch = ("Published","Deleted","Denied");
  var sheetNameToMoveTheRowTo = "Sheet2";

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getActiveCell();

  if (sheet.getName() == sheetNameToWatch && range.getColumn() == columnNumberToWatch && range.getValue() == valueToWatch) {
    var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);
    var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn()).moveTo(targetRange);
    sheet.deleteRow(range.getRow());
  }
}

Try using something like:

//var valueToWatch = ("Published","Deleted","Denied");
var valueToWatch = ['Published', 'Deleted', 'Denied'];
...
if (... && valueToWatch.indexOf(range.getValue()) > -1 && ...) {
   ...
}
...

Adjust everything you need in your code.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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