小编Wig*_*ore的帖子

如何从 Google 表单提交触发器功能访问电子表格

我在 Google Forms 脚本中有一个函数,可以将唯一 ID 添加到要添加到关联工作表的行。该函数在提交表单时触发。

这是我一直在使用的脚本的一个版本:-

function onFormSubmit(e) {
  // Get the active sheet
  var sheet = SpreadsheetApp.getActiveSheet();
  // Get the active row
  var row = sheet.getActiveCell().getRowIndex();
  // Get the next ID value.  
  var id = sheet.getRange("Z4").getValue();
  // Check of ID column is empty
  if (sheet.getRange(row, 1).getValue() == "") {
    // Set new ID value
    sheet.getRange(row, 1).setValue(id);
    sheet.getRange("Z4").setValue("Z4"+1)
  }
}
Run Code Online (Sandbox Code Playgroud)

在调试时我收到消息:-

类型错误:无法调用 null 的方法“getActiveCell”。(第 5 行,文件“CreateID”)

我尝试将代码裁剪为一个简单的setValue,但我遇到了同样的问题 - “无法调用方法...”,除了getActiveSheet.

该函数的触发器工作正常,因为我收到通知说该函数本身未能成功执行。我在网上查了一下,尝试了一些方法,但尚未找到解决方案。

所以我真正想要的是访问表单发布到的电子表格的正确方法。如果 SpreadsheetApp.getActiveSheet() 不是正确的方法,那么什么是?

这个脚本完全陌生,上次在 PLI …

javascript google-sheets google-apps-script google-sheets-api

3
推荐指数
1
解决办法
2331
查看次数