Флажок автоматически заполняет время редактирования - проблемы, удаляющие это время, если не отмечены - PullRequest
0 голосов
/ 21 февраля 2019

Я использую скрипт в сочетании с функцией флажка на листах Google.Я хотел бы, чтобы скрипт заполнял время редактирования, когда флажок установлен, и удалял это время, когда флажок снят.

То, что у меня есть, позволяет мне обновлять время, когда флажок установлен,и время обновляется снова, когда не проверено.

У меня проблемы с удалением времени, когда флажок снят.

В этом сценарии используются принципы, согласно которым флажок без флажка = FALSE и флажок = TRUE

Любая помощьценится

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
var sName = s.getName();
var r = s.getActiveCell();
if (r.getColumn() == 1 && sName == 'Dashboard') {
  var row = r.getRow();
  var time = new Date();
  SpreadsheetApp.getActiveSheet().getRange('G' + row.toString()).setValue(time);
  var checkmark = r.getValue();
  if (checkmark == 'FALSE') {
    SpreadsheetApp.getActiveSheet().getRange('G' + row.toString()).setValue('');
    }
}

}

1 Ответ

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

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

function onEdit(e) {
  var ss=e.source;
  var rg=e.range;
  var sh=rg.getSheet();
  var name=sh.getName();
  var row=rg.rowStart;
  var col=rg.columnStart;
  var value=e.value;
  if(name!='Dashboard'){return;}
  if (col==1 && name=='Dashboard') {
    if(value=="TRUE") {
      sh.getRange(row,7).setValue(Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "E MMM dd, yyyy HH:mm:ss"));
    }else{
      sh.getRange(row,7).setValue('');
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...