ein Ich habe ein Skript eingerichtet, um vorhandene Antworten in mein Google Formular aus einem Google-Blatt einzufügen (indem Sie den Code aus this answer anpassen). Ich habe es in die Forms Scripts eingefügt und es funktioniert, wenn alle Felder im Sheet gefüllt sind. Die Art des Formular-Fragebogens ist jedoch so, dass bestimmte Abschnitte übersprungen werden können, so dass einige Felder im Blatt leer bleiben. Ich würde gerne ein solches Sheet einfügen, das einige seiner Antwortfelder leer lassen.So fügen Sie leere Felder beim Einfügen von Antworten aus Google Sheet in Formular
Das Skript funktioniert, wenn alle Felder im Sheet gefüllt sind, aber nicht, wenn es auf ein leeres Feld trifft (was bedeutet, dass die erste Zeile der Antworten, die ein leeres Feld enthält, die Ausführung des Skripts stoppt)).
Was ich gerne wissen würde ist, wie man meinem Skript erklärt, dass es nur leere Antworten akzeptieren und sie als solche einfügen soll? Hier
ist das Skript:
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);
}
};
Beispiel Form is here mit seinem accompanying Sheet here (I ein leeres Feld in der dritten Reihe zu Prüfzwecken links). Hier