google-apps-script - 处理对 Google 表单响应的编辑
问题描述
客观的:
利用 Google 表单,我将数据提交到电子表格。我在电子表格上使用 Apps 脚本来触发“提交表单”,将数据推送到 Google 文档上的表格中。
Google Docs 表中的第一列包含相对于 Google Sheet 中行 ID 的行 ID。
问题:
- 就我的申请而言,某些表格需要编辑/更新回复。
- 我的脚本目前只向 Google Docs 表添加新行(包括我只想编辑相关行而不是在新行上提交的编辑)。显然,Google Sheet 行会自动更新而不会出现问题。
我创建解决方案的思路:
- 我将该列添加到包含唯一标识符(电子表格行 ID)的 Google 文档表中
- 问题:当您在内部编辑 Google 表单(之前已提交)时,是否会在 Google 表格中激活 a
.activeRow()
?如果是这样,我可以检查它是否是现有行。 - 问题:如何搜索包含 ID 的 Google Doc 表的列?一旦我确定了该行,我该如何编辑它?有关系
.getElement();
吗?Google Docs 中的表格与 Google Sheets 中的表格处理方式不同吗?
你认为我在正确的道路上吗?我缺少一个更简单的解决方案吗?
// Grab the Table
var body = DocumentApp.openById('theid').getBody(),
searchElement = body.findElement(DocumentApp.ElementType.TABLE),
element = searchElement.getElement(),
table = element.asTable();
// Get the last row ID
var range = SpreadsheetApp.getActiveSheet().getLastRow();
// Insert the Row
var cells = [range, theDate, nameWelcome, interest, value, comment, offer];
var addRow = table.appendTableRow();
cells.forEach(function(e, i){
addRow.insertTableCell(i, e);
});
解决方案
我在这里找到了答案。表单上的应用程序脚本如何将额外数据存储到工作表中?
我需要从表单脚本而不是工作表运行代码。这样我就可以获得活动的网址。我还需要指出具体的工作表。
推荐阅读
- r - R:如何减去对角矩阵?
- ansible - Ansible 与 Concourse
- xml - 如何在不知道其数量的情况下动态获取所有元素
- android - Android Studio 数据绑定错误,找不到符号:debug/dataBindingGenBaseClassesDebug/databinding/ActivitySignupBinding.java
- java - 检查所有给定的 n 个对象是否相同或不同的最有效方法?
- powershell - 旋转屏幕 Powershell
- java - How to deserialize json to object using SubTypes?
- spring-boot - 执行 Mockito 时抛出空指针异常
- keras - Keras 模型中的数据格式
- magnolia - Magnolia 6 将搜索视图添加回工作台