【问题标题】:How to modify current insert timestamp script to remove timestamp when cell is cleared如何修改当前插入时间戳脚本以在清除单元格时删除时间戳
【发布时间】:2019-06-13 00:22:34
【问题描述】:

当 A 列中的单元格被填充时,我目前正在使用以下脚本向 H 列中的单元格添加时间戳。问题是,当我删除 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);
   }
 }}

【问题讨论】:

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


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • 确保您获得最后一次编辑。事实证明,if(e.value &amp;&amp; e.value.length&gt;0) 中的 e.value 非常重要,因为删除单元格内容时未定义 e.value。我花了一段时间才弄明白。拥有新的处决页面真的很有帮助。
    • 我不太清楚你在上一条评论中的意思。另外,我遇​​到了这个问题。如果您逐个单元格地删除 A 列中的内容,则它可以工作,但是如果您突出显示 A 列中的多个单元格并选择删除,则它不起作用。有什么建议吗?
    • 当我调试它给我以下错误:TypeError:无法从未定义中读取属性“范围”。 (第 2 行,文件“TimeStamp”。此部分突出显示:var rg=e.range;
    • 我希望你意识到你不能在没有事件对象的情况下运行这个函数。您必须通过编辑相应的工作表来进行测试,否则您可以重新创建事件对象。
    • 现在调试错误是有道理的。谢谢
    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    相关资源
    最近更新 更多