如何在 GSheet 中的多列上创建时间戳

Qc20

在创建脚本以在 GSheet 上自动化时间戳时遇到了一些麻烦。我有 2 列 - AD 和 AE,我希望它具有更新 L 和 AA 列的日期时间戳。已尝试以下脚本,但似乎不起作用。

function onEdit(e) {

  addTimestamp(e);

}

function addTimestamp(e){

  var startRow = 3;
  var targetColumn = 12;
  var targetColumn2 = 27;
  var ws = "Brand List";

  var row = e.range.getRow();
  var col = e.range.getColumn();
  
  if (col === targetColumn && row >= startRow && e.source.getActiveSheet().getName() === ws) {

    var currentDate = new Date();
    e.source.getActiveSheet().getRange(row,30).setValue(currentDate)

  }

  if (col === targetColumn2 && row >= startRow && e.source.getActiveSheet().getName() === ws) {

    var currentDate = new Date();
    e.source.getActiveSheet().getRange(row,31).setValue(currentDate)

  }
}
姆什克鲁兹

您的脚本运行良好,但您似乎收到一条错误消息,说TypeError: Cannot read property 'range' of undefined.

发生这种情况是因为只要编辑电子表格,脚本就会使用触发器来执行函数onEdit()执行时,此触发器会将事件对象 ( e) 作为参数传递给函数,其中包括诸如被编辑的单元格之类的数据。

但是,只有在编辑工作表时才会传递此事件对象,如果您从脚本编辑器运行该函数,则不会发生这种情况。因此,要使其工作,您需要像使用脚本时一样编辑工作表。

如果你真的想单独测试它,你需要显式创建这个事件对象并将它传递给onEdit()函数:如何在 GAS 中测试触发器函数?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使GSheet提取操作更快?

pygsheet 中的 GSheet 包装策略

关于R中的“ gsheet”包

如何使用脚本/宏在特定的 GSheet 列中查找和替换?

如何使用已经包含脚本的新gsheet?

我们如何在一个单元格(gsheet响应)中将多个选择答案(来自gform)声明为数组中的单独值?(加油站)

如何从 csv 文件中的多列创建日期时间/时间戳

如何在颤振中创建时间戳

如何在多列上创建FULLTEXT索引?

GSheet:在不同列中查询日期范围内的行

如何按Excel或GSheet中第二列的值对第一列中具有相等值的列表进行排序?

如何在PostgreSQL中创建“在多列上更新表后触发”?

如何在js中验证时间戳

如何在python中设置时间戳

如何在Dart中获取时间戳?

如何在 BigQuery 中减去时间戳

如何在 Solidity 中处理时间戳

如何在 Bigquery 中截断时间戳

如何在python中的Google Cloud Firestore中创建条目以作为时间戳

如何在`terraform`中创建带有时间戳的文件?

如何在Play中创建自动生成的日期/时间戳字段!/ JPA?

如何在 R 中为多个组创建时间戳序列?

如何在Kafka中查看主题创建和更改时间戳

如何在 R 中创建时间戳的简单可视化

如何在 R 中为多个组创建时间戳序列?

Gsheet 将部分时间添加到开始时间以计算结束时间

如何重新采样,并在多列上创建 value_counts() 和 count() 的时间序列?

如何使用Firestore TIMESTAMP在JavaScript中创建时间戳

如何创建仅在表中显示日期部分的时间戳