Автоматически очищать ячейку после очистки выпадающего меню + фиксировать местное время - PullRequest
0 голосов
/ 10 февраля 2019

Я создаю общую повестку дня с разными листами (по одному в неделю), которую должны заполнять разные люди.Каждый раз, когда они изменяют определенную ячейку (раскрывающееся меню), дата изменения указывается в другой ячейке в той же строке.

В настоящее время у меня две проблемы с моим кодом:

1) Хотелось бы, чтобы дата отображалась как dd/mm/yy
2) Если очищенная измененная ячейка (например, если текст удален) или - (или -- или ---) выбрана извыпадающее меню, а также дата изменения должна исчезнуть.

Мне сложно отладить этот тип кода.

Вот файл Google Sheets .

1 Ответ

0 голосов
/ 10 февраля 2019

У меня так работает:

function onEdit(e) {
  var ss=e.source;
  var rg=e.range;   
  var sh=rg.getSheet();
  if(rg.columnStart!=2 && rg.columnStart!=10 && rg.columnStart!=18 && rg.columnStart!=26 && rg.columnStart!=34){return;}
  setClearOnNoValue(e);
}

function setClearOnNoValue(e) {
  var rg=e.range;
  var sh=rg.getSheet();
  if(e.value && e.value.length>0) {//added e.value.length>0
    sh.getRange(rg.rowStart, rg.columnStart + 3).setValue(Utilities.formatDate(new Date(new Date().getFullYear(),new Date().getMonth()+1,new Date().getDate(),new Date().getHours(),new Date().getMinutes()),Session.getScriptTimeZone(),"d/MMM/yyyy HH:mm"));
  }else{
    sh.getRange(rg.rowStart, rg.columnStart + 3).setValue('');
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...