トップページへ

Googleフォームからメール送信中にエラーが発生 null のメソッド「getLastRow」を呼び出せません。

BLOG Tokyo » コンピュータ関連 » インターネット・マーケティング » Googleフォームからメール送信中にエラーが発生 null のメソッド「getLastRow」を呼び出せません。

「Googleドライブのフォームに自動返信メール機能を追加する」というエントリーを2013年に紹介しましたが、今日この機能を使ったら、

Googleフォームからメール送信中にエラーが発生 null のメソッド「getLastRow」を呼び出せません。

となって使えなくなるか、メールは送信できるが、同時に上記のエラーメールも届いてしまうことに気がつきました。2015年に使った時は大丈夫だったから、2015年秋〜の仕様変更なのでしょう。

さて、ネットで検索していると、フォーム側のスクリプトエディタではなく、スプレッドシート側でやれば大丈夫という紹介も2、3ありましたが、試してみてもダメでした。僕がやってオッケーだったのは次のブログです。

銀ねこのアトリエ様
http://ginneko-atelier.com/blogs/tips/195-2/

ここで紹介されているGmailApp.sendEmail()関数は、かなり便利です。


function submitForm(e){
var itemResponses = e.response.getItemResponses();
var message = '';
var shozoku = '';
var username = '';
var post = '';
var agenda = '';
var mail = '';
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
var question = itemResponse.getItem().getTitle();
var answer = itemResponse.getResponse();
if (question == '所属'){
shozoku = answer;
}
if (question == '参加者氏名'){
username = answer;
}
if (question == '参加者役職'){
post = answer;
}
if (question == '連絡先メールアドレス'){
mail = answer;
}
if (question == '質問事項(もしあれば)'){
agenda = answer;
}
message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
}
var address = 'hogehoge@xxx.jp';
var title = '【自動返信】問い合わせフォームが送信されました';
var content = '以下の内容でフォームが送信されました。\n\n' + message;
GmailApp.sendEmail(address, title, content);
var title2 = '[【自動返信】問い合わせフォーム]';
var content2 = shozoku + username +
'_様\n\nこの度はご登録いただきありがとうございます。\n\n下記の内容で登録されました。\n\n'
+ message
+ '\n\n 担当:管理者';
GmailApp.sendEmail(mail, title2, content2);
}

グーグルフォームのスクリプトエディタに設定しても動作を確認しています。20160517

« 前の記事へ

次の記事へ »

トップページへ