Google apps script 使用Google工作表数据创建表单响应

Google apps script 使用Google工作表数据创建表单响应,google-apps-script,google-sheets,google-forms,Google Apps Script,Google Sheets,Google Forms,我有一个连接到谷歌表单的谷歌表单。问题是,我的工作表中存在未通过表单提交的数据,因此我希望能够从工作表中获取数据,并为未从表单中填写的每一行提交表单。我可以使用脚本编辑器执行此操作吗 编辑:这是我目前拥有的代码。现在,每个表单都在提交中,但字段显示“未定义” [设置][功能]以下是为我的电子表格中的每行数据正确提交表单的代码。名字在A列,姓氏在B列,等等。当您在工作表上调用“sheet.getRange()”时,您需要确保在使用此数据创建表单响应之前使用“.getValues()”。 注意:我的

我有一个连接到谷歌表单的谷歌表单。问题是,我的工作表中存在未通过表单提交的数据,因此我希望能够从工作表中获取数据,并为未从表单中填写的每一行提交表单。我可以使用脚本编辑器执行此操作吗

编辑:这是我目前拥有的代码。现在,每个表单都在提交中,但字段显示“未定义”


[设置][功能]

以下是为我的电子表格中的每行数据正确提交表单的代码。名字在A列,姓氏在B列,等等。当您在工作表上调用“sheet.getRange()”时,您需要确保在使用此数据创建表单响应之前使用“.getValues()”。 注意:我的示例代码只是提交第3-8行的表单

var ss = SpreadsheetApp.getActive(); 
var sheet = ss.getSheetByName("Data"); // grabs sheet

var formUrl = ss.getFormUrl();             
var form = FormApp.openByUrl(formUrl); // grabs the connected form
var questions = form.getItems();

// Getting the fields of the form questions 
var firstName = questions[0].asTextItem();
var lastName = questions[1].asTextItem();
var emergency = questions[2].asTextItem();
var email = questions[3].asTextItem();
var cell = questions[4].asTextItem();
var specialty = questions[5].asTextItem();


var dataFirstNames = sheet.getRange("A3:A10").getValues();
var dataLastNames = sheet.getRange("B3:B10").getValues();
var dataEmergencyNumbers = sheet.getRange("C3:C10").getValues();
var dataEmails = sheet.getRange("E3:E10").getValues();
var dataCellNumbers = sheet.getRange("F3:F10").getValues();
var dataSpecialties = sheet.getRange("G3:G10").getValues();


  function myFunction() {

  for(i = 0; i < 8; i++) {

      var formResponse = form.createResponse();

      var d1 = dataFirstNames[i];
      var r1 = firstName.createResponse(d1); 

      var d2 = dataLastNames[i];
      var r2 = lastName.createResponse(d2);

      var d3 = dataEmergencyNumbers[i];
      var r3 = emergency.createResponse(d3); 

      var d4 = dataEmails[i];
      var r4 = email.createResponse(d4);

      var d5 = dataCellNumbers[i];
      var r5 = cell.createResponse(d5); 

      var d6 = dataSpecialties[i];
      var r6 = specialty.createResponse(d6);

      formResponse.withItemResponse(r1);
      formResponse.withItemResponse(r2);
      formResponse.withItemResponse(r3);
      formResponse.withItemResponse(r4);
      formResponse.withItemResponse(r5);
      formResponse.withItemResponse(r6);

     formResponse.submit();
 } 
var ss=SpreadsheetApp.getActive();
var sheet=ss.getSheetByName(“数据”);//抓住床单
var formUrl=ss.getFormUrl();
var form=FormApp.openByUrl(formUrl);//获取连接的表单
var questions=form.getItems();
//获取表单问题的字段
var firstName=questions[0].asTextItem();
var lastName=questions[1].asTextItem();
var emergency=问题[2].asTextItem();
var email=问题[3].asTextItem();
var cell=questions[4].asTextItem();
var profession=questions[5].asTextItem();
var dataFirstNames=sheet.getRange(“A3:A10”).getValues();
var dataLastNames=sheet.getRange(“B3:B10”).getValues();
var dataEmergencyNumbers=sheet.getRange(“C3:C10”).getValues();
var dataEmails=sheet.getRange(“E3:E10”).getValues();
var dataCellNumbers=sheet.getRange(“F3:F10”).getValues();
var dataSpecialties=sheet.getRange(“G3:G10”).getValues();
函数myFunction(){
对于(i=0;i<8;i++){
var formResponse=form.createResponse();
var d1=数据名[i];
var r1=firstName.createResponse(d1);
var d2=数据lastnames[i];
var r2=lastName.createResponse(d2);
var d3=数据紧急编号[i];
var r3=应急响应(d3);
var d4=数据邮件[i];
var r4=email.createResponse(d4);
var d5=数据单元编号[i];
var r5=cell.createResponse(d5);
var d6=数据特殊性[i];
var r6=专业.createResponse(d6);
formResponse.withItemResponse(r1);
formResponse.withItemResponse(r2);
formResponse.withItemResponse(r3);
formResponse.withItemResponse(r4);
formResponse.withItemResponse(r5);
formResponse.withItemResponse(r6);
formResponse.submit();
} 

}

欢迎来到堆栈溢出。是的,您可以使用应用程序脚本执行此操作。一个好的问题通常包括一些代码,并解释您尝试了什么。您的“已解决”是否意味着您现在有了问题的答案?然后贴出来帮助别人。如果你觉得不值得努力,请删除你的问题。