首页 > 解决方案 > 根据该工作表中的单元格命名工作表

问题描述

我希望使用 google sheet API 制作 60 多个模板电子表格副本。我希望能够使用同一工作表中的单元格命名每个工作表。

function NewBracket() {
var spreadsheet = SpreadsheetApp.getActive();
var name = spreadsheet.getActiveRange().activate() ;
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Template'), true);
spreadsheet.duplicateActiveSheet();
spreadsheet.getRange('B1').activate();
name.copyTo(spreadsheet.getActiveRange(),SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getActiveSheet().setName(name);
};

当我运行它时,工作表被正确创建,单元格 B1 被正确命名,但新创建的工作表被命名为 Range,而不是输入到单元格 B1 中的名称。如何获得上述代码以将工作表命名为与 B1 单元格中显示的名称相同的名称?

标签: google-apps-scriptgoogle-sheets

解决方案


答案来自评论中的用户 ra89fi,但它有效。我改成spreadsheet.getActiveSheet().setName(name);spreadsheet.getActiveSheet().setName(name.getValue());它工作得很好。


推荐阅读