【问题标题】:Google Sheet: Insert timestamp in specific rows while edit specific rangeGoogle Sheet:在编辑特定范围时在特定行中插入时间戳
【发布时间】:2020-07-14 05:39:36
【问题描述】:

因为我的脚本编写能力很低,但我真的必须使用它(我没有找到任何其他解决方案)我想请你帮忙处理时间戳。 我正在寻找有关功能 onEdit 的帮助,该功能允许我在编辑特定范围 F4:Q4、F5:Q5 时在每一行的特定列 (S) 中添加时间戳。最重要的是我想避免几行(因为它是标题行,我不想在更改标题行时添加时间戳)

它的一部分正在使用下面的代码,但没有包含仅编辑特定范围的机制(整行中的任何更改都被视为修改)并且也没有什么可以跳过标题行

function onEdit(e) {
  // Your sheet params
  var sheetName = "Sklad";
  var dateModifiedColumnIndex = 4;
  var dateModifiedColumnLetter = 'S';

  var range = e.range; // range just edited
  var sheet = range.getSheet();
  if (sheet.getName() !== sheetName) {
    return;
  }

  // If the column isn't our modified date column
  if (range.getColumn() != dateModifiedColumnIndex) { 
    var row = range.getRow();
    var time = new Date();
    time = Utilities.formatDate(time, "GMT-08:00", "dd/MM/yy, hh:mm:ss");
    var dateModifiedRange = sheet.getRange(dateModifiedColumnLetter + row.toString());
    dateModifiedRange.setValue(time);
  };
 };

非常感谢您的帮助, 问候

【问题讨论】:

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


    【解决方案1】:

    您可以在第二个if() 中添加标题行数

    如果已编辑,此更改不会在前 4 行中添加时间戳。

    if (range.getColumn() != dateModifiedColumnIndex && range.getRow() > 4) {
    

    【讨论】:

      【解决方案2】:

      谢谢@詹姆斯

      它对我有用

      function onEdit(e) {
        // Your sheet params
        var sheetName = "Sklad";
        var dateModifiedColumnIndex = 3;
        var dateModifiedColumnLetter = 'S';
      
        var range = e.range; // range just edited
        var sheet = range.getSheet();
        if (sheet.getName() !== sheetName) {
          return;
        }
      
        // If the column isn't our modified date column
        if (range.getColumn() != dateModifiedColumnIndex && range.getRow() > 3 &&  range.getRow() != 8 &&  range.getRow() != 15 &&  range.getRow() != 32 &&  range.getRow() < 49) { 
          var row = range.getRow();
          var time = new Date();
          time = Utilities.formatDate(time, "GMT", "dd-MM-yyyy");
          var dateModifiedRange = sheet.getRange(dateModifiedColumnLetter + row.toString());
          dateModifiedRange.setValue(time);
        };
       };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-08
        • 1970-01-01
        • 1970-01-01
        • 2015-02-26
        • 1970-01-01
        • 2018-03-24
        • 2017-10-17
        • 1970-01-01
        相关资源
        最近更新 更多