SpreadsheetApp / FormApp - 更改日志

时间:2018-04-16 14:13:32

标签: javascript google-form google-sheets-api

我有一个脚本记录电子表格中所有更改的日志:

function onEdit() {


  var timestamp = new Date();
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var cell = sheet.getActiveCell();
  var user = Session.getActiveUser();
  var columnLabel = sheet.getRange(1, cell.getColumn()).getValue();
  var changelogSheet = ss.getSheetByName("Changelog");

  changelogSheet.appendRow([timestamp, cell.getA1Notation(), columnLabel, cell.getValue(), user.getEmail()]);
}

每次在“Sheet1”上进行编辑时,此代码都会在“更改日志”表单中精美地创建一行数据。它会告诉您日期和时间,编辑它的单元格,编辑内容以及编辑它的用户。

我的问题是“Sheet1”链接到允许用户编辑其回复的Google表单。当用户确实在Google表单上编辑他们的回复时,编辑没有在我的脚本上注册,也没有日志记录。

我假设我的脚本只记录工作表本身的物理编辑。

是否有办法(可能使用FormApp)执行类似的代码来记录Google表单上的每个编辑?

我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您应该创建一个新的onFormSubmit触发器,该触发器将包含类似的逻辑,并在提交表单回复时在Google表格中创建一个新行。