Saya memiliki skrip yang berfungsi di salah satu proyek lembar google saya, tetapi sekarang saya ingin itu dipicu ketika saya menekan tombol kirim pada Formulir Google yang saya miliki. Pada dasarnya, data dari Formulir Google saya diekspor ke formulir Spreadsheet saya, tetapi kemudian saya memiliki skrip untuk menganalisis data yang dimasukkan. Untuk beberapa alasan, sepertinya tidak melakukan apa-apa ketika fungsi onSubmitForm() dipicu. Jelas ada masalah karena garis pengujian logger saya ditampilkan untuk fungsi onSubmitForm tetapi tidak untuk fungsi EvaluateResults.

Kode di Formulir Google saya sederhana:

function onSubmitForm(){
   Logger.log("onSubmitForm Running");
   a.EvaluateResults();
}

Kode di Google Sheets juga sederhana:

function EvaluateResults(){
  Logger.log("evaluation running");
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet_results = ss.getSheetByName("Sheet2");
  var sheet_userForm = ss.getSheetByName("Form Responses 1");

  sheet_results.getRange("C24").setValue((sheet_userForm.getRange("A2").getValue());
}
0
1QuickQuestion 24 Oktober 2017, 07:18

1 menjawab

Jawaban Terbaik

Anda harus menulis seluruh fungsi dalam skrip formulir Google itu sendiri. Anda dapat mengumpulkan respons dari formulir Google segera setelah pengiriman berhasil.

function onSubmitForm(e){
  Logger.log("onSubmitForm Running");
  var itemResponses = e.response.getItemResponses();
  var emailAddress = itemResponses[1].getResponse(); // Response of second question
  Logger.log(emailAddress)
  var ss = SpreadsheetApp.openById("SS ID"); // Replace with your Spreadsheet Id
  var sheet_results = ss.getSheetByName("Sheet2");
  sheet_results.getRange("C24").setValue(emailAddress);
}
4
Ritz 24 Oktober 2017, 11:35