gpt4 book ai didi

google-apps-script - 在 Google 表格中插入新行或编辑行时添加时间戳

转载 作者:行者123 更新时间:2023-12-02 00:05:27 36 4
gpt4 key购买 nike

我有:

  • 自动接收新的 shopify 订单的 google 表格通过 zapier
  • 订单作为新行插入,至少到目前为止是这样,但是不知道以后会不会更新编辑通过扎 PIL
  • 订单中的客户数据在 A 到 JO 列中
  • 下面的代码是一个容器绑定(bind)的简单触发器,可通过转到 Google 工作表中的工具 > 脚本编辑器访问

我要:

  • 在 JP 列中为新行或编辑的行添加时间戳

我从这篇文章 "Want to create timestamp for time added and create unique incremental user ID. And also include a last changed column" 中拼凑了以下代码.但是我有一个问题——当我尝试运行它时,我收到以下错误消息:

“类型错误:无法读取未定义的属性‘源’(第 6 行,文件“代码”)”

function onChange(e) {

var lastChangedTime = 276 //column JP

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = e.source.getActiveSheet

var now = new Date();

if (e.changeType == "INSERT_ROW") {


//set lastChangedTime when the row is created
ss.getActiveSheet().getRange(ss.getActiveRange().getLastRow(), lastChangedTime, 1, 1).setValue(now);
}

if (e.changeType == "EDIT") {

//set date in same row as edit happens, at fixed column
ss.getActiveSheet().getRange(ss.getActiveRange().getLastRow(), lastChangedTime, 1, 1).setValue(new Date());

}
}

任何人都可以通过查看这段代码来判断错误是什么吗?非常感谢任何帮助!

编辑 1:

我想跟进并告诉大家这个问题是如何为我解决的。我以为我有一个问题,但实际上我有两个。

  1. 第一个问题是我试图从脚本编辑器中“运行”OnEdit(e) 函数来测试它,结果抛出了上述错误代码。正如 Chemi Adel 正确指出的那样,需要更改代码才能启用此类测试。

  2. 第二个问题,正如 Mateo Randwolf 在评论中正确指出的那样,是我没有正确安装触发器。要安装触发器,首先打开包含脚本的 google 表格。然后转到工具 > 脚本编辑器 打开脚本编辑器。脚本编辑器应在网络浏览器的单独选项卡中打开。然后,在脚本编辑器选项卡中转到编辑 > 当前项目的触发器,这将打开一个新选项卡,显示当前项目的触发器。然后点击右下角的“Add Trigger”按钮,将函数的参数设置为Function: OnChange, Deployment: Head(不知道这是什么意味着但对我来说只是一个选项),选择事件源:来自电子表格,以及选择事件类型:编辑时。我能够在 Mateo Randwolf 链接到的文档中找到如何安装触发器。

最佳答案

Edit triggers给onChange一个对象作为参数event,没有定义event点击运行导致错误创建与测试 event

类似结构的对象
function onChange(event) {

...Code

//Overrid e just for testing
event = {
source:ss,
changeType:'INSERT_ROW'
}

...Code

}

关于google-apps-script - 在 Google 表格中插入新行或编辑行时添加时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60785024/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com