googleフォーム側でのGAS操作です。
本来スプレッドシートに自動で回答が入りますが、その回答を他のシートに貼り付けたいのですがうまく動きません。
エラーメッセージ:TypeError: undefined からプロパティ「response」を読み取れません。
ご教授いただければと思います。
補足:スプリクトエディタはフォーム側で設定してます。
以下コードになります。
フォーム送信時に実行される*/
function onFormSubmit(e) {
//フォーム送信内容を取得
var itemResponses = e.response.getItemResponses();
//転記先シートを取得
var sh = SpreadsheetApp.openById('スプレッドシートID').getSheetByName('シート名');
//最終行の特定
var targetRow = 2;
var strTime = sh.getRange(targetRow, 1).getValue();
//A列が空欄かどうかで最終行を判定
while( strTime != "" ) {
targetRow = targetRow + 1;
strTime = sh.getRange(targetRow, 1).getValue();
}
//フォーム送信内容にタイムスタンプが含まれていないので自前でA列に現在時刻をセット
sh.getRange(targetRow, 1).setValue(new Date());
//フォーム送信内容を転記先シートにB列から順番に書き込み
//書き込み順はフォームの入力順に準拠の模様
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
var question = itemResponse.getItem().getTitle();
var answer = itemResponse.getResponse();
var outColNum = outputColmun(question);
//出力先列数が0でなければ値セット if( outColNum != 0 ) { sh.getRange(targetRow, outColNum).setValue(answer); }
}
回答1件
あなたの回答
tips
プレビュー