Web services Google电子表格单元格和Google表单输入字段之间的显式对应关系
我正在制作一个网络表单,供人们报名参加活动。我发现我可以使用谷歌表单和谷歌电子表格来完成这项任务,我开始学习如何使用这些web应用程序。我还想将自动确认电子邮件发送给已注册的用户。对于这项任务,我还研究了谷歌应用程序脚本。据我所知,我应该定义一个函数,在电子表格中以脚本形式发送电子邮件,并在“表单提交事件”中触发此函数。我想确定根据提交的数据注册的人员的电子邮件地址,并且我想在确认电子邮件中包括所有提交的数据以及时间戳 我的问题如下Web services Google电子表格单元格和Google表单输入字段之间的显式对应关系,web-services,google-apps-script,google-api,google-sheets,google-drive-api,Web Services,Google Apps Script,Google Api,Google Sheets,Google Drive Api,我正在制作一个网络表单,供人们报名参加活动。我发现我可以使用谷歌表单和谷歌电子表格来完成这项任务,我开始学习如何使用这些web应用程序。我还想将自动确认电子邮件发送给已注册的用户。对于这项任务,我还研究了谷歌应用程序脚本。据我所知,我应该定义一个函数,在电子表格中以脚本形式发送电子邮件,并在“表单提交事件”中触发此函数。我想确定根据提交的数据注册的人员的电子邮件地址,并且我想在确认电子邮件中包括所有提交的数据以及时间戳 我的问题如下 如何识别电子表格中存储表单中输入字段值的单元格 或者,是否有
- 如何识别电子表格中存储表单中输入字段值的单元格李>
- 或者,是否有任何方法可以从谷歌应用程序脚本中读取各个输入字段的值李>
我也很高兴听到替代谷歌表单和谷歌电子表格的工具。这个答案适用于2013年版的“新表单”,而不是已经停产的“旧表单” 如何在电子表格中识别包含 是否存储表单中的输入字段 您可以通过第1行中的标签识别将收集表单问题答案的列。有了这些知识,您可以在函数中按列号引用答案,例如
getRange()
…是否有任何方法可以读取相应输入的值
谷歌应用程序脚本中的字段
有多种方法可以引用输入值:
- 如中所示,使用表单提交触发的函数可以从事件本身检索输入值。这里有两种选择;您可以在一个数组中获得一组
,以及值
,您可以使用问题文本作为名称来引用这些值名称值
- 您可以从电子表格中读取数据;在前面提到的同一个触发器函数中,可以使用
获取包含所有提交值的数组,然后可以通过索引引用该数组。请记住,这将是一个基于0的数组,而列编号从1开始e.range.getValues()
e.range
将进行调整)。以下所有值的顺序将是表单中创建问题的顺序。请注意,如果您删除了一列(例如,因为您从表单中删除了问题),那么“已删除”问题的列将在行的末尾重新创建
…当我修改Google表单时,“NamedValue”成员仍然
保存与已删除的输入字段对应的元素。有吗
仅在namedvalue
中对应的元素上循环的方法
用户实际输入的字段
记住过去的问题是有原因的,尽管当这些问题不用于收集任何真实数据时,它们只是一个麻烦。可以使用更好的计划来避免问题
事件中未回答的问题将是空字符串(例如e.namedValues[“死问题”]==''
)。所以你可以这样跳过它们:
for (var ans in e.namedValues) {
if (e.namedValues[ans] != '') {
doSomethingWith(e.namedValues[ans]
}
}
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var headers = sheet.getDataRange().getValues()[0];
还要注意的是,您可以获得“标题”数组或表单问题,如下所示:
for (var ans in e.namedValues) {
if (e.namedValues[ans] != '') {
doSomethingWith(e.namedValues[ans]
}
}
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var headers = sheet.getDataRange().getValues()[0];
…然后使用
标题搜索
以查找包含您要查找的答案的列。为什么不从M Hawksey的应用程序脚本事件管理器开始?应用程序脚本文档是,并且最近已更新。所有的类和方法都记录在“参考”下。谢谢你的回答。你是怎么学会这些规则的?有谷歌提供的文档吗,或者你是从你的经历中发现的?在阅读了您的答案之后,我可以更清楚地说明我想做的事情:我想获取表单当前版本中输入字段的值,按照字段在表单中的显示顺序,无论值是否为null。如果我在更改表单中问题(输入字段)的名称或顺序时记得更新脚本,我可以通过阅读namedValues
部分来完成。我可以写一个更通用的脚本吗?@norio-主要是通过我自己使用表单以及StackOverflow和其他论坛中的示例获得的经验。(请尝试在此处搜索[google apps script]+form
)apps script g