选中标记会自动填充编辑时间-如果未选中,则无法删除该时间

时间:2019-02-21 02:11:54

标签: google-apps-script google-sheets google-api google-sheets-api

我将脚本与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 :(得分:0)

尝试一下:

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('');
    }
  }
}