我想使用 谷歌应用脚本 编辑一个已经提交的表单的回复。我有答案的id,我可以检索它,但我不能再次发送它改变任何项目。
var libro = SpreadsheetApp.getActiveSpreadsheet()
var hoja = libro.getSheetByName('Respuestas de formulario 1')
const answers = hoja.getRange(1,1,hoja.getLastRow(), hoja.getLastColumn()).getValues().slice(2)
const form = FormApp.openById(FORM_ID);
var cuestionario = form.getResponse(RESPONSE_ID)
const items = form.getItems();
cuestionario.withItemResponse(items[0].asListItem().createResponse(answers[1][1])) //competición
.withItemResponse(items[1].asListItem().createResponse(answers[1][2])) //sección
.withItemResponse(items[2].asTextItem().createResponse(answers[1][3])) //Equipo Sección
.withItemResponse(items[3].asTextItem().createResponse(answers[1][4])) //Equipo A
.withItemResponse(items[4].asTextItem().createResponse(answers[1][5])) //Equipo B
.withItemResponse(items[5].asDateItem().createResponse(answers[1][6])) //Fecha Inicial
.withItemResponse(items[6].asDateItem().createResponse(answers[1][7])) //Fecha Juego
.withItemResponse(items[7].asDateItem().createResponse(answers[1][8])) //Hora
.withItemResponse(items[8].asTextItem().createResponse(answers[1][9])) //Campo
.withItemResponse(items[9].asTextItem().createResponse(answers[1][10])) //Entrenador
.withItemResponse(items[10].asTextItem().createResponse(answers[1][11])) //Categoría Fab
.withItemResponse(items[11].asListItem().createResponse(answers[1][12])) //Pista Colegio
cuestionario.submit()
异常: Lo sentimos. Esta respuesta ya se ha enviado.
异常。抱歉 此回复已经发送
一个现有的表单响应不能被改变 FormResponse.submit()
或 withItemResponse(response)
.
文件 withItemResponse(response)
状态。
此方法仅适用于脚本已创建但尚未提交的表单响应,不能影响存储的响应。
文档中的 FormResponse.submit()
状态。
如果响应已经提交,就会抛出一个脚本异常。
没有官方的、"内置 "的方式来编辑现有的 Google 表单响应,只有最初提交表单的人能够编辑表单中的响应。 只有最初提交表单的人应该能够编辑表单中的响应。 表单的所有者也不可能手动编辑表单响应。 表单的所有者可以删除响应,但所有者不能编辑响应。
表单的用户至少应该有一定的信心和信任,他们的回答不会被改变,除非是他们自己。
有 是 可能得到一个 "编辑网址 "与应用程序脚本代码,但没有办法编程使用编辑网址编辑现有的答案。
非常感谢您的回复。所有的表单回复都是我发布的,它允许我以一种简单的方式填写excel。无论哪种方式,我都会找到其他方式。