Таблицы Google / Очистить формат в скрипте, перемещая строку на другой лист - PullRequest
0 голосов
/ 09 июля 2020

У меня есть Google Sheet с двумя вкладками. Я использую сценарий, который отправляет строку из TESTSHEET1 в TESTSHEET2, когда я устанавливаю флажок. Когда он перемещается, он приносит с собой несколько правил условного форматирования в TESTSHEET2, до точки, когда мне нужно очистить все форматирование, а затем повторно применить то, что мне нужно. Я пробовал разные вещи, которые видел в Интернете, но, похоже, ничего не работает. Я хотел бы добавить к этому сценарию, а не к новому, потому что он отлично работал у меня все это время! Пожалуйста помоги. Это код, который я использовал

function onEdit(event) {
  // assumes source data in sheet named main
  // target sheet of move to named Completed
  // getColumn with check-boxes is currently set to colu 4 or D
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(s.getName() == "TESTSHEET1" && r.getColumn() == 1 && r.getValue() == true) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("TESTSHEET2");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).moveTo(target);
    s.deleteRow(row);
  }
}

Я не слишком разбираюсь в коде, поэтому не знаю, как к нему добавить. А вот ссылка на образец листа https://docs.google.com/spreadsheets/d/1lUzOYdtLzr_98oFHJ8zzq9MTby6LDadAzn6hHNIs9sk/edit?usp=sharing

Помогите !! Заранее спасибо!

1 Ответ

0 голосов
/ 09 июля 2020
function onMyEdit(e) {
  //e.source.toast('Entry');
  //Logger.log(JSON.stringify(e));
  const sh=e.range.getSheet();
  if(sh.getName()=="Sheet1" && e.range.columnStart==1 && e.value=="TRUE") {
    //e.source.toast('Conditional');
    var tsh=e.source.getSheetByName("Sheet2");
    tsh.getRange(tsh.getLastRow() + 1,1,1,sh.getLastColumn()).setValues(sh.getRange(e.range.rowStart,1,1,sh.getLastColumn()).getValues());
    sh.deleteRow(e.range.rowStart);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...