オークション中古車に関するGoogleフォームに基づいてスプレッドシートの上にGoogleスクリプトを作成しています。私の先生から次の指示がありました:Google Script Editorを使用してスプレッドシートに追加する
スプレッドシートでは、最高入札額を探してGoogleフォームフィールドを更新する機能を備えたGoogleスクリプトを追加します。機能1:入札欄のすべての値を取得し、ループ。機能2:Googleフォームを開き、フォームのテキストフィールドを更新します(たとえば、現在の最高入札価格は$ xxxxです。入札してください)。 xxxxは最高入札価格です。 (参照:https://developers.google.com/apps-script/reference/forms/)上記の機能を起動し、Googleフォームを更新するトリガーをスクリプト内に作成します。
そしてここでは私のコードです:
function myFunction(e) {
var ss = SpreadsheetApp.getActive().getSheetByName('Used Car Auction')
var form = FormApp.openById('1D0XE9womWv2T_rFYTtc9enQgIhCkxaK8SErxNkTh7NE')
ScriptApp.newTrigger('onFormSubmit')
.forForm(form)
.onFormSubmit()
.create();
var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues()
var bid = values [88000]
var highest = Math.max(bid).toString();
formsetTitle('Used car auction:' + 'The highest bid is:' + highest)
.setDescription ('Description of Form')
.setConfirmationMessage('Thanks for bidding!')
.setAllowResponseEdits(false)
.setAcceptingResponses(true);
}
Googleは言う:TypeError例外は:ヌルの "getSheetByName" メソッドを呼び出すことはできません。
私は間違っていますか?私は5日間コーディングしましたが、これは私を混乱させています。
それ以外の場合は、上記の手順に従って適切なトラックにいらっしゃいますか?
フォームが送信された時点で起動されますが、その時点でスプレッドシートが開いている/アクティブではありません。だから、スプレッドシートのIDを指定し、それを 'openById(id)'で開きたいと思うでしょう。 – Casper