我已经设置了一个脚本,可以将现有答案从Google表格插入到Google表单中(通过修改this answer中的代码)。我将它插入到表单脚本中,并且它在表单中的所有字段都被填充时起作用。然而,表格调查问卷的性质是这样的,某些章节可能会被跳过,因此表格中的一些字段为空。我想插入这样的表格,其中一些答案字段留空。如何在将Google表格的答案插入到Google表格中时插入空白字段
当工作表中的所有字段都已填充时,该脚本将工作,但在遇到空白字段时不起作用(这意味着第一行包含任何空白字段的答案会停止脚本的执行)。
我想知道的是如何解释我的脚本,它应该只接受空白答案并插入它们?
这里是脚本:
function ApendResponses() {
var form = FormApp.openById("1M-mTBlZPRj44jXs_YHj-cNa9yHjU25ItEWBuKtUvKZo");
var sheet = SpreadsheetApp.openByUrl("https://ocs.google.com/spreadsheets/d/1Jc9NVlN-Wcmd87E-FnyocHgl5Vx2WXqOGPTkhvXjCFU/");
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 = formItem.createResponse(row[1]);
formResponse.withItemResponse(response);
var formItem = items[1.0].asTextItem();
var response = formItem.createResponse(row[2]);
formResponse.withItemResponse(response);
var formItem = items[2.0].asListItem();
var response = formItem.createResponse(row[3]);
formResponse.withItemResponse(response);
var formItem = items[3.0].asPageBreakItem();
formResponse.withItemResponse(response);
var formItem = items[4.0].asListItem();
var response = formItem.createResponse(row[4]);
formResponse.withItemResponse(response);
var formItem = items[5.0].asPageBreakItem();
formResponse.withItemResponse(response);
var formItem = items[6.0].asListItem();
var response = formItem.createResponse(row[5]);
formResponse.withItemResponse(response);
var formItem = items[7.0].asPageBreakItem();
formResponse.withItemResponse(response);
var formItem = items[8.0].asTextItem();
var response = formItem.createResponse(row[6]);
formResponse.withItemResponse(response);
formResponse.submit();
Utilities.sleep(500);
}
};
例Form is here,以其accompanying Sheet here(I第三行用于测试目的在左空白字段)。