获取当前响应onSubmit

el.*_*ero 9 google-apps-script

有没有办法找到Google表格的当前回复(以编程方式)?

onSubmit功能.

看着他们的文档,但我必须提供respondId.

我怎么找到的respondId

他们的一个剪切代码是:

// Open a form by ID and log the responses to each question.
 var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
 var formResponses = form.getResponses();
 for (var i = 0; i < formResponses.length; i++) {
   var formResponse = formResponses[i];
   var itemResponses = formResponse.getItemResponses();
   for (var j = 0; j < itemResponses.length; j++) {
     var itemResponse = itemResponses[j];
     Logger.log('Response #%s to the question "%s" was "%s"',
         (i + 1).toString(),
         itemResponse.getItem().getTitle(),
         itemResponse.getResponse());
   }
 }
Run Code Online (Sandbox Code Playgroud)

更新:

function onSubmit(e) {
  /* Get values entered by filling the form */
  var itemResponses = e.response.getItemResponses();
  var myWantedValue = itemResponses[COLUMN_NUMBER].getResponse();
}
Run Code Online (Sandbox Code Playgroud)

注意:通过传递e(vent)作为参数,可以通过提交实时表单来访问值,而不是通过脚本编辑器访问!

Ser*_*sas 11

此代码为您提供最后一个表单响应的值,您正在寻找什么?

function myFunction() {
  var formResponses = FormApp.getActiveForm().getResponses();
  Logger.log(formResponses.length);
  var formResponse = formResponses[formResponses.length-1];
  var itemResponses = formResponse.getItemResponses();
  for (var j = 0; j < itemResponses.length; j++) {
    var itemResponse = itemResponses[j];
    Logger.log('Last response to the question "%s" was "%s"',
               itemResponse.getItem().getTitle(),
               itemResponse.getResponse());
  }
}
Run Code Online (Sandbox Code Playgroud)