【发布时间】:2019-03-19 12:24:46
【问题描述】:
我希望使用 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 单元格中显示的名称相同的名称?
【问题讨论】:
-
换行成
spreadsheet.getActiveSheet().setName(name.getValue()); -
确保您也处理了工作簿中已经存在该名称的情况。 (并考虑重构宏记录器的输出——当你可以只使用一个变量来存储引用时,激活选择是没有意义的)
标签: google-apps-script google-sheets