前提
フォームで申し込みをした際に自動的に受付番号を取得できるようにしたいです。
自動送信するメールの内容の箇所は問題ないのですが、
「フォーム項目の取得」でエラーが発生してしまいます。
初心者でエラーの部分がわからず困っております…。
実現したいこと
最終的には、受付番号と同時にフォームの回答内容も送れる形にしたいです。
発生している問題・エラーメッセージ
TypeError: Cannot read properties of undefined (reading 'namedValues') onFormSubmit @ コード.gs:15
該当のソースコード
function onFormSubmit(e) { //問い合わせ連番(A列)の取得 //シートの取得 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート名'); var lastRow1 = sheet.getRange(1, 2).getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow(); //B列の最終行を取得して、その行のA列の受付番号を拾う var range = sheet.getRange(lastRow1,1); var number = range.getValue(); // フォーム項目の取得 var number = e.namedValues['受付番号'][0]; var time = e.namedValues['タイムスタンプ'][0]; var name = e.namedValues['名前'][0]; var age = e.namedValues['年齢'][0]; var address = e.namedValues['住所'][0]; var message = e.namedValues['質問'][0];
試したこと
['参加証番号'][0];の[0]はシート内のB列以降の数字を入れると良いでしょうか?
試してみたのですが、同じくエラーが出てしまいました。
補足情報(FW/ツールのバージョンなど)
① そのエラー(TypeError: Cannot read properties of undefined )は、フォームを送信したときに発生しているのでしょうか。
仮にフォーム送信時ではなくGASのエディタ上で実行ボタンを押したときにエラーが発生するのならば、それは仕様です。正しく動作させるには、トリガーを「フォームの送信時」に設定したうえで、実際にフォームを送信する必要があります。
② または、スプレッドシートのメニュー→拡張機能からスクリプトを書いているのではなく、フォームのメニューからスクリプトを書いている可能性もあります。
「namedValues」はフォームではなく、スプレッドシートに紐づけたスクリプトでなければ正しく機能しません。
あなたの回答
tips
プレビュー