【发布时间】:2020-12-29 12:24:14
【问题描述】:
我完全不擅长为 Google 表格编写脚本。
我正在尝试编写一个脚本,该脚本将在从表单(不是谷歌表单)插入到谷歌工作表的行(第 23 列)上插入时间戳;它是其他一些供应商将数据发送到工作表和不传递时间戳)。
我一直在尝试从示例中编写一些脚本,但我似乎无法让它工作。我目前的脚本如下:
function setUpTrigger() {
ScriptApp.newTrigger('timestamp')
.forSpreadsheet('spreadsheet_id_goes_here')
.onChange()
.create();
}
function timestamp(e){
if (e.changeType == 'INSERT_ROW'){
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(e.range.getRow(), 23).setValue(new Date());
}
}
非常感谢任何帮助
【问题讨论】:
-
问题是您的脚本正在使用
e.range,但更改事件对象不包含range属性。 -
@Rubén 谢谢。我对此非常陌生,以至于我仍然不确定如何纠正这个问题。如何在事件对象中包含范围属性?
-
你已经阅读了链接的问题吗?
-
尝试使用
getActiveRange()相关:Unable to detect Row inserts in Google sheets through google apps scripts? -
@Rubén 这个问题没有说明任何关于“删除”事件的内容。我倾向于重新打开它。链接的问题表明这是不可能的,而这是可能的。虽然问题是
e.range,正如您所建议的,但我认为它不能回答问题。
标签: google-apps-script google-sheets