I am trying to import data from a Google Spreadsheet into a Google Form as responses. I have about 1000 rows of data that need to be submitted as separate Form responses. All of the columns correspond to different types of questions (such as multiple-choice, text, dropdown menu, date, etc.). I have searched all over the internet and here on Stackoverflow but none of the answers to similar questions seem to fit what I am trying to do. I found several people using form.createResponse()
, but I am very new to programming so maybe that is why I couldn't fit them to my needs...
Nevertheless, I would really appreciate it if someone could help me write some Google Apps Script code that is able to cycle through each line of the spreadsheet and submit them as separate responses through the form.
This is what the form which needs to be answered looks like:
These are the corresponding headings and data that need to be added as responses:
The code below is what I believe to be closest to what I am looking for:
function ApendResponses() {
var form = FormApp.openByUrl('https://docs.google.com/forms/d/e/1FAIpQLSfVz48wSVwri7cPxWsAHszaF7eqfQi4xdpU2seXiZrgTwaWTA/viewform');
var sheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1Se_74kAX6zEX71I_kFcKxScnuAslKCPZdE3yHptX-2Q/edit#gid=1047564688");
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
for (var x = 0; x < values.length; x++) {
var formResponse = form.createResponse();
var items = form.getItems();
var row = values[x];
var formItem = items[0.0].asTextItem;
var response = form.createResponse(column[0]);
formResponse.withItemResponse(response);
var formItem = items[1.0].asDateItem();
var response = formItem.createResponse(column[1]);
formResponse.withItemResponse(response);
var formItem = items[2.0].asDateItem();
var response = formItem.createResponse(column[2]);
formResponse.withItemResponse(response);
var formItem = items[3.0].asDateItem();
var response = formItem.createResponse(column[3]);
formResponse.withItemResponse(response);
var formItem = items[4.0].asMultipleChoiceItem();
var response = formItem.createResponse(column[4]);
formResponse.withItemResponse(response);
var formItem = items[5.0].asMultipleChoiceItem();
var response = formItem.createResponse(column[5]);
formResponse.withItemResponse(response);
var formItem = items[6.0].asTextItem();
var response = formItem.createResponse(column[6]);
formResponse.withItemResponse(response);
var formItem = items[7.0].asTextItem();
var response = formItem.createResponse(column[7]);
formResponse.withItemResponse(response);
var formItem = items[8.0].asMultipleChoiceItem();
var response = formItem.createResponse(column[8]);
formResponse.withItemResponse(response);
var formItem = items[9.0].asTextItem();
var response = formItem.createResponse(column[9]);
formResponse.withItemResponse(response);
var formItem = items[10.0].asMultipleChoiceItem();
var response = formItem.createResponse(column[10]);
formResponse.withItemResponse(response);
var formItem = items[11.0].asMultipleChoiceItem();
var response = formItem.createResponse(column[11]);
formResponse.withItemResponse(response);
formResponse.submit();
Utilities.sleep(500);
}
};
Although, this code has not worked.