表单提交到电子表格事件数据



我使用表单将数据提交到电子表格。我正试图在电子表格附带的脚本中使用表单提交事件中的信息。我有表单提交触发器设置,并且能够使用在日志中记录事件信息

var dataRange = e.range;
Logger.log(JSON.stringify(dataRange.getA1Notation()))

此日志记录"A30:F30"但我似乎无法将这些信息存储在变量中。

例如,

var dataRange = e.range;
let info = JSON.stringify(dataRange.getA1Notation())

return info;

这将返回Error: TypeError: Cannot read property 'range' of undefined

所有文档都有Logger.log来查看事件数据,但我想在脚本中使用这些信息。为什么我只能在日志中看到它?

使用return语句后,将退出表单提交时触发的函数

  • 由于此函数是在触发器上调用的,而不是从另一个函数调用的,因此您不会在任何地方返回info
  • 如果要存储要在另一个函数中使用的值,请使用脚本属性
  • 这允许您在不确定的时间内存储变量/值,并使给定脚本中的任何dunction都可以访问它们

样本:

var dataRange = e.range;
let info = JSON.stringify(dataRange.getA1Notation())
var scriptProperties = PropertiesService.getScriptProperties();
scriptProperties.setProperty("rangeNotation", info);

检索存储的属性:

var scriptProperties = PropertiesService.getScriptProperties();
var info = scriptProperties.getProperty("rangeNotation");

最新更新