【问题标题】:Check mark auto populates time of edit - trouble removing that time if unchecked复选标记自动填充编辑时间 - 如果未选中,则无法删除该时间
【发布时间】:2019-02-21 02:11:53
【问题描述】:

我将脚本与谷歌表格上的复选框功能结合使用。我希望脚本在选中该框时填充编辑时间,并在未选中该框时删除该时间。

到目前为止,我可以在选中该框时更新时间,并在未选中时再次更新时间。

我在取消选中该框时无法删除时间。

此脚本使用未选中框 = 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('');
    }
}

}

【问题讨论】:

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


    【解决方案1】:

    试试这个:

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

    【讨论】:

      猜你喜欢
      • 2019-08-31
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多