我可以使用Google表单更新Google工作表电子表格吗?



我希望从谷歌表单存储有关寄养动物的数据。本质上,它只会把输入到电子表格中的信息输入进去。这对于第一次提交很有效,但如果我想更改特定动物的记录信息,则不适用。我认为name是唯一标识符的最佳选择,因此我想编写一个脚本,如果输入了相同的名称,则通过给定列搜索该名称,然后重新填充该行。

这是我一开始就能做的事吗?另外,我的思考方式是否很落后?如果需要更多的信息,我很乐意提供。

在这种情况下,最好的方法是使用Apps Script触发器。

你可以从使用onFormSubmit开始,它将在用户最终提交所需的表单时运行。

这是一个可安装触发器这意味着它需要先进行设置。

如果您计划使用表单来修改信息,您可以轻松地在表单中创建一个id字段,并设置一个类似于以下内容的脚本:

function onFormSubmit(e) {
let ss = SpreadsheetApp.openById('SS_ID').getSheetByName('SHEET_NAME');
let idCol = ss.getRange('ID_RANGE').getValues();
let submissions = e.namedValues();
for (let i = 0; i < idCol.length; i++) {
if (idCol[i][0] == submissions.Id)
//update the sheet accordingly
else {
//add the new values to the sheet 
}
}
}

为了从表格中收集提交的内容,使用了e.namedValues。假设您在电子表格中有一列,其中存储了与表单中的项目相对应的每种动物的id,您可以简单地检查提交的表单是否针对现有的项目-因此您可以使用新信息更新它,或者只是简单地将新提交的内容添加到工作表中。

请记住,您将不得不调整它,使其适合您当前的设置。

参考

  • Apps Script Installable Triggers;

  • Apps Script Event Objects.

相关内容

  • 没有找到相关文章

最新更新