【问题标题】:Google SpreadSheet Script to Set Current Date谷歌电子表格脚本设置当前日期
【发布时间】:2021-04-12 11:14:30
【问题描述】:

我有一个 google sheet 脚本,当单元格中的复选框(第 20 列) 为真。请参阅下面的脚本副本。

我需要帮助修改脚本,以便在设置单元格(第 20 列)时在相邻单元格(21)上设置时间戳 {setValue(new Date())}为 true 或一旦它被移动到目标工作表(Reviewed)。提前致谢。

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(s.getName() == "Review" && r.getColumn() == 20 && r.getValue() == true) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Reviewed");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).moveTo(target);
    s.deleteRow(row);```

【问题讨论】:

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


    【解决方案1】:

    解释:

    如果您想在活动工作表s 中设置时间戳,则:

    s.getRange(row,21).setValue(new Date());

    或者如果你想在目标表中 targetSheet 然后:

    targetSheet.getRange(targetSheet.getLastRow(),21).setValue(new Date());

    解决办法:

    function onEdit(event){
      var ss = event.source;
      var s = ss.getActiveSheet();
      var r = event.range;
      if(s.getName() == "Review" && r.getColumn() == 20 && r.getValue() == true) {
        var row = r.getRow();
        var numColumns = s.getLastColumn();
        var targetSheet = ss.getSheetByName("Reviewed");
        var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
        s.getRange(row, 1, 1, numColumns).moveTo(target);
        s.deleteRow(row);
        s.getRange(row,21).setValue(new Date());  
      //targetSheet.getRange(targetSheet.getLastRow(),21).setValue(new Date()); 
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多