我正在尝试将关联的Google表单的回复保存到现有的Google表单中。更确切地说,电子表格显示员工的休假请求,包括员工的休假原因,请求的天数,请求的日期,经理的姓名等。基本上,表格要求员工提供这些信息。 谢谢!
我在这里想要实现的是将响应信息保存到已创建的电子表格中。根据Google的文档,只有两个选项: 1)创建新的电子表格:为Google表格中的回复创建电子表格 2)选择现有的电子表格:从Google表格中的现有电子表格中选择以存储回复 如果是选项#2,我可以在同一个电子表格中保存回复但是它将它们保存在新的表格中; 我正在尝试将响应保存在同 一张表中。
我知道Google Form有一个脚本编辑器。是否可以运行将响应发送到电子表格的函数?也许是这样的?
function sendToSpreadSheet(e)
{
var ss = SpreadsheetApp.openById("abc1234567");
// Send response to spreadsheet
// Populate cells accordingly
}
我对Google表单没有太多经验,所以我不确定如何解决这个问题。非常感谢任何建议。
发布于 2019-05-10 15:47:42
试试这个:
您必须提供电子表格ID和SheetName。并为电子表格创建onFormSubmit触发器。
function saveResponse(e) {
SpreadsheetApp.getActive().getSheetByName('SheetName').append(e.values);
}
要么
function saveResponse(e) {
SpreadsheetApp.openById('id').getSheetByName('SheetName').append(e.values);
}
您可以使用以下内容创建触发器:
function createSetResponseTrigger(){
createTrigger('setResponse');
}
function createTrigger(funcname) {
if(!isTrigger(funcname)) {
ScriptApp.newTrigger(funcname).forSpreadsheet(SpreadsheetApp.getActive()).onFormSubmit().create();
}
}
还有这个
function isTrigger(funcName){
var r=false;
if(funcName){
var allTriggers=ScriptApp.getProjectTriggers();
for(var i=0;i<allTriggers.length;i++){
if(funcName==allTriggers[i].getHandlerFunction()){
r=true;
break;
}
}
}
return r;
}
或者您可以使用“编辑菜单/当前项目触发器”手动创建它。
https://stackoverflow.com/questions/-100009031
复制相似问题