OnChange Script продолжает возвращаться к определенной таблице - Google pps Script / Google Sheets - PullRequest
0 голосов
/ 12 февраля 2020

Каждый раз, когда я делаю правки в любой из 5 других электронных таблиц, как только я заканчиваю sh редактирование ячейки, я возвращаюсь к имени листа «HOLDING». Я бы хотел, чтобы это прекратилось.

function onChange(e) {

 DeleteRow(e);
}
function DeleteRow(e) {
// This Code will delete any "Y" in Column E.

var sheet = SpreadsheetApp.getActive();
sheet.setActiveSheet(sheet.getSheetByName('HOLDING'), true);
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
var rowsDeleted = 0;
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
if (row[4] == "Y") {
sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
rowsDeleted++;
  }
 }
}

Заранее спасибо

1 Ответ

1 голос
/ 12 февраля 2020

Вызов setActiveSheet() - это то, что вызывает изменение активного листа.

Попробуйте заменить первые пару строк DeleteRow() подходом, который позволит вам взаимодействовать с HOLDING лист без активации:

function DeleteRow(e) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('HOLDING');

  <...continue with the rest of the original implementation...>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...