处理对Google表单回复的修改

时间:2018-04-26 12:59:46

标签: google-apps-script google-docs google-form

目标:

  • 利用Google表单,我将数据提交到电子表格。我在电子表格上使用Apps脚本触发“表单提交”,将数据推送到Google文档的表格中。

  • Google文档表格中的第一列包含相对于Google表格中行ID的行ID。

问题:

  • 就我的申请而言,某些表格将要求编辑/更新回复。
  • 我的脚本目前只向Google文档表中添加了新行(包括我只想编辑相关行而不是在新行上提交的编辑)。显然Google表格行会自动更新而不会出现问题。

我想要创建一个解决方案:

  • 我将该列添加到包含唯一标识符(电子表格行ID)
  • 的Google文档表中
  • 问题:当您在内部并编辑Google表单(之前已提交过)时,是否会激活Google表格中的.activeRow()?如果是,我可以检查它是否是现有行。
  • 问题:如何搜索包含ID的Google文档表格列?一旦我识别出行,我该如何编辑它?这与.getElement();有关吗? Google文档中的表格与Google表格中的表格有何不同?

你认为我走在正确的道路上吗?我错过了一个更简单的解决方案吗?

// 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);
});

1 个答案:

答案 0 :(得分:1)

我在这里找到了答案。 How can an apps-script on a Form store extra data into the Sheet?

我需要从表单脚本而不是表单运行代码。这样我就可以获得活动网址。我还需要指出具体的表格。