フォームからの回答方法
■ ライブフォームを開いて回答させる
■ ウェブページに埋め込んで回答させる
■ 送信して回答させる ①メールにフォームを含ませて回答させる ②フォームへのリンクで回答させる
■ 下は利用したフォームとフォーム集計用のシート
function Form_TEST(){
sheet = SpreadsheetApp.getActiveSheet().getRange(1, 1,8, 4 );
data = SpreadsheetApp.getActiveSheet().getRange(2, 1, 8, 4 ).getValues();
var ri = sheet.getRowIndex();
var ci = sheet.getColumnIndex();
var numColumns = sheet.getNumColumns();
var headersRange = SpreadsheetApp.getActiveSheet().getRange(ri,ci,1,numColumns);
var headers = headersRange.getValues()[0];
var keys = [];
for (var i = 0; i < headers.length; ++i) {
var key ="";
var key = headers[i];
if (key.length > 0) {
keys.push(key);
}
}
var objects = [];
for (var i = 0; i < data.length; ++i) {
var object = {};
var hasData = false;
for (var j = 0; j < data[i].length; ++j) {
var cellData = data[i][j];
if (isCellEmpty(cellData)) {
continue;
}
object[keys[j]] = cellData;
hasData = true;
}
if (hasData) {
objects.push(object);
}
}
function isCellEmpty(cellData) {
return typeof(cellData) == "string" && cellData == "";
}
var firstrow = objects[0];
var secondrow = objects[1];
var thirdrow = objects[2];
Browser.msgBox(keys); // すべてのヘッダーの取得
Browser.msgBox(keys[2]); // キー(指定の列の取得)
Browser.msgBox("name ; " + firstrow.name + " email ; " + firstrow.email + " ans ; " + firstrow.チェックボックス);
Browser.msgBox(secondrow.name);
Browser.msgBox(secondrow.email);
Browser.msgBox(thirdrow.タイムスタンプ);
}
|