1
Googleフォームから複数選択グリッドに入力された選択肢を取得しようとしています。私は行、列を取得することができますが、行ごとに選択した選択肢を取得することはできません。私はこの使用Googleフォームの複数の選択肢のグリッドからの質問への回答を取得するにはどうすればよいですか?
function Test_Field() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var process = ss.getSheetByName("Process TEST");
var sheet = ss.getSheetByName("Réponses au formulaire 3");
process.activate();
process.getRange(1, 1, sheet.getMaxRows(),
sheet.getMaxColumns()).clearContent();
var button = ("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
var form = FormApp.openByUrl(button);
var reps = form.getResponses();
var items = form.getItems();
var rep = reps[5]; //// I want only work on the 5 respons
var l = 3;
for (var i = 0; i < items.length; i++){
var index = items[i].getIndex();
var l = l+3;
process.getRange(l+1,1).setValue(i);
process.getRange(l+1,3).setValue(index);
process.getRange(l+1,3).setValue(items[i].getType());
if(items[i].getType() == "GRID") {
process.getRange(l+1,4).setValue("GRID");
var testitem = items[i].asGridItem().getRows();
var testitemcol = items[i].asGridItem().getColumns();
var itemResponses = rep.getItemResponses();
for (iii = 0;iii < testitem.length;iii++){
var itemResponse = itemResponses[iii];
process.getRange(l+1,iii+6).setValue(itemResponse);
process.getRange(l+2,iii+7).setValue(testitem[iii]);
process.getRange(l+3,iii+7).setValue(testitemcol[iii]);
}
}
if (itemsrep[i] != null)
{process.getRange(l+1,5).setValue(itemsrep[i].getResponse())};
}
}
まだ動作しません。ログファイルには、 "Vraagjes"という質問に対する応答#6が "[Ja、Neen、Neen、null、Ja、null、Neen、null、Neen、null、null]でした。 – bacbgox
[Ja、Neen、Neen、null、Ja、null、Neen、null、Neen、null、null]は、「var testitem = items [i] .asGridItem()。getRows();」というタイトルを持っていますgridResponse = itemResponses [k]。getResponse();ここでitemResponses = formResponse.getItemResponses();を実行すると、gridResponse [i]を使用して応答(列の値)を取得できます。 – InnaS
ありがとうございました、私は別の方法でやったが、次回はあなたの答えを守っている – bacbgox