Googleフォームで送信をトリガーにしてGASを実行するプログラムを作成しております。
「新規の回答」と編集用URLより送信される「既存の回答」で実行する内容が異なります。
現在、私が行っている判別の方法は
フォームの回答の出力先のシートの左側に「編集用URL列」を挿入して、
新しい回答がある度にフォームから取り出した編集用のURLを「編集用URL列」に貼り付けており
新規:回答の最終行の1行目が空欄(=編集用URLが未だ存在しない)の場合は、新しい回答
既存:回答の最終行の1行目が空欄でない場合は、既存の回答が存在する
と判別しております。
★聞きたいこと
①もっと簡単に新しい回答か、既存の回答かを判別する方法はありますでしょうか?
②最終行が空欄だから新規フォームという判別方法について、エラーがなく安定して実行してくれる方法だと思われますか?
様々な方の意見をお聞かせいただけると助かります。
var sheet = "フォームの回答の出力先のシート" var form = FormApp.getActiveForm(); var formResponses = form.getResponses(); var formResponse = formResponses[formResponses.length - 1]; var url = formResponse.getEditResponseUrl(); var lastRow = sheet.getLastRow(); if(sheet.getRange(lastRow, 1).getValue() == ""){ //空欄の場合は「新規回答」である sheet.getRange(lastRow, 1).setValue(url); //左側の「編集用URL」に貼り付ける }else{ 既存の回答が存在する場合の処理 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。