表单提交后在 google 个工作表中触发脚本
Triggering Script in google Sheets after Forms Submit
我的一个 google 工作表项目中有一个工作脚本,但现在我希望在我点击 Google 表单上的提交按钮时触发它。基本上,我的 Google 表单中的数据被导出到我的表格表单中,但是我有一个脚本来分析输入的数据。出于某种原因,它似乎在触发 onSubmitForm() 函数时什么也没做。很明显存在问题,因为我的记录器测试行显示的是 onSubmitForm 函数,而不是 EvaluateResults 函数。
我的 Google 表单中的代码很简单:
function onSubmitForm(){
Logger.log("onSubmitForm Running");
a.EvaluateResults();
}
Google 表格中的代码也很简单:
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());
}
您应该在 Google 表单脚本本身中编写整个函数。您可以在点击提交后立即从 Google 表单中收集回复。
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);
}
我的一个 google 工作表项目中有一个工作脚本,但现在我希望在我点击 Google 表单上的提交按钮时触发它。基本上,我的 Google 表单中的数据被导出到我的表格表单中,但是我有一个脚本来分析输入的数据。出于某种原因,它似乎在触发 onSubmitForm() 函数时什么也没做。很明显存在问题,因为我的记录器测试行显示的是 onSubmitForm 函数,而不是 EvaluateResults 函数。
我的 Google 表单中的代码很简单:
function onSubmitForm(){
Logger.log("onSubmitForm Running");
a.EvaluateResults();
}
Google 表格中的代码也很简单:
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());
}
您应该在 Google 表单脚本本身中编写整个函数。您可以在点击提交后立即从 Google 表单中收集回复。
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);
}