Как изменить текущий скрипт метки времени для удаления метки времени при очистке ячейки - PullRequest
0 голосов
/ 18 января 2019

В настоящее время я использую следующий скрипт для добавления метки времени к ячейке в столбце H при заполнении ячейки в столбце A. Проблема в том, что когда я удаляю содержимое столбца A, временная метка остается в столбце H. В настоящее время у меня есть условное форматирование, чтобы скрыть временную метку, если ячейка пуста, но мне действительно нужно удалить содержимое. Как мне изменить мой текущий скрипт для достижения этой цели?


 function onEdit(event) {
 var sheet = SpreadsheetApp.getActiveSheet();
 if(sheet.getName() == "CHECK OUT" || sheet.getName() == "CHECK IN" || sheet.getName() == "MISC OUT" || sheet.getName() == "MISC IN"){
  var eventRange = event.range;
  if (eventRange.getColumn() == 1) { // 1 == column A
    var columnARange = SpreadsheetApp.getActiveSheet().getRange(eventRange.getRow(), 8, eventRange.getNumRows(), 8);
    var values = columnARange.getValues();
    for (var i = 0; i < values.length; i++) {
       values[i][0] = new Date();
}
columnARange.setValues(values);
   }
 }}

1 Ответ

0 голосов
/ 19 января 2019

Попробуйте это:

function onEdit(e) {
  var rg=e.range;
  var sh=e.range.getSheet();
  var name=sh.getName();
  if(name=="CHECK OUT" || name== "CHECK IN" || name== "MISC OUT" || name=="MISC IN"){  
    if(rg.columnStart==1) {
      var vA=rg.getValues();
      for(var i=0;i<vA.length;i++){
        if(vA[i][0]) {
          sh.getRange(rg.rowStart + i,8).setValue(new Date());
        }else{
          sh.getRange(rg.rowStart + i,8).setValue('');    
        }
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...