Почему Undo вызывает мой onEdit (), когда функция ограничена определенным столбцом? - PullRequest
0 голосов
/ 03 октября 2018

Эта функция onEdit () ограничена изменениями в первом столбце определенного листа.Моя проблема в том, что когда я нажимаю «отменить» или «Ctrl + Z» за пределами диапазона onEdit (), «отмена» вызывает функцию и очищает некоторые строки с помощью .clearContent ().

Почему это 'отменить это делать?Я не изменяю первый столбец.Журнал выглядит так:

[18-10-03 10:41:09:166 VET] onEdit
[18-10-03 10:41:09:167 VET] event {authMode=LIMITED, range=Range, source=Spreadsheet, user=name.lastname@company.com}   -   A3:A22   -  true

Это моя функция:

function onEdit(e){

  init()

  if (e.range.getSheet().getName() == htSheet.getName()) {
    if ((e.range.getColumn() == 1) && (e.range.getRow() >= StartRowHT) && (typeof e.value == "string")){
      Logger.log("fired")
      onSelectTask(e)
    } else if ((e.range.getColumn() == 1) && (typeof e.value != "string")){
      //clean row

      var rowIndex = e.range.getRow()

      range1 = "B" + rowIndex + ":G"  + rowIndex
      range2 = "I" + rowIndex + ":ZZ" + rowIndex

      htSheet.getRangeList([range1, range2]).clearContent()
    }
    Logger.log("onEdit")
    Logger.log("event %s   -   %s   -  %s", e, e.range.getA1Notation(), typeof e.value != "string")
  }
}

function init() {
  taskRange = htSheet.getRange(StartRowHT, 1,  (calendar.getLastRow() - StartRowCal + 1))

  var rule   = SpreadsheetApp.newDataValidation().requireValueInRange(sheetname.getRange("H4:H1000"), true).build()

  taskRange.setDataValidation(rule)
}

Заранее благодарю за помощь.

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