@Xcomzbk75

Как получить данные при очищении ячейки?

Здравствуйте, возможно повторюсь, но не нашел подобного.
Суть такая я вношу данные в таблицу при изменении определенной ячейки, а именно дату изменения и почту изменившего.
И возник такой вопрос. а как мне внести данные если ячейку очистили?
Сам скрипт:
function onEdit(e) {
  let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  let name = SpreadsheetApp.getActiveSheet().getName();
  let row = e.range.getRow();
  let col = e.range.getColumn();
  let value = e.source.getActiveSheet().getRange(row, 9).getValue();
  let date = Utilities.formatDate(new Date(), "GMT+3", "dd.mm.yyyy H:mm:ss");
  let email = Session.getEffectiveUser().getEmail();

  if (col == 9 && name == "Нужный лист" && value != "") {
    sheet.getRange(row, 1).setValue(date);
    sheet.getRange(row, 2).setValue(email);
  } 
  if (column == 9 && name == "Нужный лист" && value == "") {
    sheet.getRange(row, 1).setValue("стер");
    sheet.getRange(row, 2).setValue(email);
  }
}

пробовал различные варианты:
value == ""
value == null
value == "undefined"

ни один не срабатывает
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
@Xcomzbk75 Автор вопроса
А все сам сообразил))
Напишу как это сделать, может кому понадобится
function onEdit(e) {
  let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  let name = SpreadsheetApp.getActiveSheet().getName();
  let row = e.range.getRow();
  let col = e.range.getColumn();
  let value = e.source.getActiveSheet().getRange(row, 9).getValue();
  let date = Utilities.formatDate(new Date(), "GMT+3", "dd.mm.yyyy H:mm:ss");
  let email = Session.getEffectiveUser().getEmail();

  if (col == 9 && name == "Нужный лист") {
    sheet.getRange(row, 1).setValue(date);
    sheet.getRange(row, 2).setValue(email);
  }
}

здесь просто убрана проверка заполнена ли ячейка
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы