所以我有以下脚本,我使用lastRow和lastColum创建一个var lastCell(sh.getRange(lastRow, lastColumn();
),然后我尝试重命名工作表以匹配该值。因为它是一个字符串,我知道我必须使用getA1Notation,所以我尝试了var SheetName = last.Cell.getA1Notation();
,然后尝试了setName(SheetName)
,但这似乎没有做到这一点。有什么想法吗?
function onSubmit(e){
var ss = e.source;
var templateSheet = ss.getSheetByName('Template');
var sh = ss.getActiveSheet();
var row = sh.getActiveRange().getRowIndex();
var col = sh.getActiveRange().getColumnIndex();
var activeRange = sh.getActiveRange().getA1Notation();
var lastRow = sh.getLastRow();
var lastColumn = sh.getLastColumn();
var lastCell = sh.getRange(lastRow, lastColumn);
var SheetName = lastCell.getA1Notation();
var newSheet = ss.insertSheet(1, {template: templateSheet});
newSheet.setName(SheetName);
newSheet.showSheet();
newSheet.appendRow(e.values);
答案 0 :(得分:0)
首先,onSubmit
触发器仅在提交表单时运行。您无法从编辑器的上下文中运行它。如果将其更改为通用函数并运行脚本,它将按照您的描述工作,将新名称设置为页面上最后一个单元格的A1表示法。
如果你想要 这个单元格,你就不会得到任何东西的价值。对于SheetName
,您只能使用.getA1Notation
获取单元格位置。如果您想要单元格内的值,请将其更改为:
var lastCell = sh.getRange(lastRow, lastColumn); // get the cell
var SheetName = lastCell.getValue(); // return the string value
设置该字符串现在将您创建的新工作表重命名为单元格中的值。