在谷歌表单中,我有一个脚本,用于为提交的每个谷歌表单创建一个新表单。它应该基于最后一列G列(不是表单提交列)创建一个名为的新工作表。然后,它从最后一行和标题行获取信息,并将其复制到所创建工作表的前两行。它还将公式添加到单元格中,以将信息放入列中(转置),并根据创建的工作表对其进行格式化。
现在它正在创建工作表并复制公式和格式,但没有给它正确的名称或提取最后一行信息。
请帮忙~查尔斯
我复制了以下代码:
function onFormSubmit() {
// onFormSubmit
// get submitted data
var ss = SpreadsheetApp.openById(
'...');
var sheet = ss.getSheetByName("Responses");
var headings = sheet.getRange(1,1,1,
sheet.getLastColumn()).getValues();
var lastRow = sheet.getRange(sheet.getLastRow(),1,1,
sheet.getLastColumn()).getValues();
var studentUsername = lastRow[0][6];
// check if username has sheet
if(ss.getSheetByName(studentUsername)){
var userSheet = ss.getSheetByName(studentUsername);
// if not make
} else {
var userSheet = ss.insertSheet(studentUsername);
userSheet.getRange(1,1,1,
headings[0].length).setValues(headings);
}
// copy submitted data to user's sheet
userSheet.appendRow([lastRow]);
userSheet.appendRow(['=CONCATENATE(B6," ",B5)']);
userSheet.appendRow(['=TRANSPOSE(B1:2)']);
userSheet.hideRows(1,2);
userSheet.setColumnWidth(1, 500);
userSheet.setColumnWidth(2, 500);
var FormatSheet = ss.getSheetByName("Format");
var FormatRange = FormatSheet.getRange("a3:b28");
FormatRange.copyFormatToRange(userSheet,1,3,3,28);
}
在评论和游戏的帮助下,我找到了我需要的代码。非常感谢@Cooper!
这是:
function onFormSubmit() {
// onFormSubmit
// get submitted data
var ss = SpreadsheetApp.openById(
'Sheet_ID');
var sheet = ss.getSheetByName("Responses");
var row = sheet.getLastRow();
var Col = sheet.getLastColumn();
var headings = sheet.getRange(1,1,1,
Col).getValues();
var lastRow = sheet.getRange(row, 1, 1, Col);
var studentUsername = sheet.getRange(row, Col).getValue();
// check if username has sheet
if(ss.getSheetByName(studentUsername)){
var userSheet = ss.getSheetByName(studentUsername);
// if not make
} else {
var userSheet = ss.insertSheet(studentUsername);
userSheet.getRange(1,1,1,
headings[0].length).setValues(headings);
}
// copy submitted data to user's sheet
userSheet.appendRow(lastRow.getValues()[0]);
userSheet.appendRow(['=CONCATENATE(B6," ",B5)']);
userSheet.appendRow(['=TRANSPOSE(B1:2)']);
userSheet.hideRows(1,2);
userSheet.setColumnWidth(1, 500);
userSheet.setColumnWidth(2, 500);
var FormatSheet = ss.getSheetByName("Format");
var FormatRange = FormatSheet.getRange("a3:b28");
FormatRange.copyFormatToRange(userSheet,1,3,3,28);
}
我正在尝试为我的学校项目创建一个通用时间表。我创建了一个简单的函数来获取活动工作表的名称。 我第一次使用它时,它就工作得很好。但是,如果我更改了工作表的名称并重新调用该函数,它仍然会获取工作表的旧名称。 例如,如果工作表的名称为“Sheet1”,并且我在单元格中运行该函数,则单元格值将为Sheet1。但是,如果我更改同一张表的名称并重新调用该函数,无论发生什么情况,我仍然会得到Sheet1。 我想
pre { white-space: pre-wrap; } 本教程向您展示如何通过 easyui 提交一个表单(Form)。我们创建一个带有 name、email 和 phone 字段的表单。通过使用 easyui 表单(form)插件来改变表单(form)为 ajax 表单(form)。表单(form)提交所有字段到后台服务器,服务器处理和发送一些数据返回到前端页面。我们接收返回数据,并将它显
我从一个简单的表单提交示例开始 下面是文件 spring-servlet.xml testlink.jsp: 控制器: blank.jsp 我的jsp页面位于 tradelc\src\main\webapp\jsp\testlink.jsp tradelc\src\main\webapp\jsp\blank.jsp 当我给出http://localhost:8181/trade LC/JSP/te
servlet web.xml: