Удалить выбранные строки скрипта - PullRequest
0 голосов
/ 18 мая 2019

У меня есть этот скрипт для удаления строки, отмеченной флажком.

function deleterows() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.showRows(1, sheet.getMaxRows());

  var values = sheet.getRange('K1:K50').getValues();

  values.forEach( function (r, i) {
    Logger.log(r);
    if (r[0]) 
      sheet.deleteRows(i+1);
    }); 
}

Но он не работает должным образом - когда я выбираю несколько строк с флажками - он удаляет часть выделенного и частьстроки, которые следуют за выбором снимок экрана

Я новичок в JavaScripts, поэтому кто-то может мне помочь, пожалуйста

1 Ответ

0 голосов
/ 19 мая 2019

С одной стороны, согласно https://developers.google.com/apps-script/reference/spreadsheet/sheet#deleterowsrowposition-howmany, deleteRows требуется два параметра, но ваш скрипт передает только один.

С другой стороны, каждый раз, когда строка удаляется, номер строки из приведенных ниже строк изменяется, поэтому лучше выполнять итерацию в обратном направлении. Для получения дополнительной информации см. Другие вопросы Q / A Удаление строк в листах Google с помощью скрипта Google Apps

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...