Javascript 在图纸上复制模板选项卡,其名称基于另一选项卡的范围
我正在使用一个代码创建基于另一个选项卡范围(“Generale”)的名称的选项卡。 生成的选项卡自然是空的。 如何从另一个名为“测试”的选项卡获取模板Javascript 在图纸上复制模板选项卡,其名称基于另一选项卡的范围,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我正在使用一个代码创建基于另一个选项卡范围(“Generale”)的名称的选项卡。 生成的选项卡自然是空的。 如何从另一个名为“测试”的选项卡获取模板 脚本 function onOpen() { SpreadsheetApp.getUi().createMenu('My Menu') .addItem('Create New Tabs', 'createTabs') .addToUi()} function createTabs() { var
脚本
function onOpen() {
SpreadsheetApp.getUi().createMenu('My Menu')
.addItem('Create New Tabs', 'createTabs')
.addToUi()}
function createTabs() {
var ss = SpreadsheetApp.getActive()
ss.getSheetByName('Generale').getRange('G2:G').getValues().filter(String)
.forEach(function (sn) {
if (!ss.getSheetByName(sn[0])) {
ss.insertSheet(sn[0], ss.getSheets().length);}})}
感谢您的帮助方法中有一个
选项
参数,可用于指定模板电子表格
function createTabs() {
var ss = SpreadsheetApp.getActive();
var templateSheet = ss.getSheetByName('Template');
ss.getSheetByName('Generale').getRange('G2:G').getValues().filter(String)
.forEach(function (sn) {
if (!ss.getSheetByName(sn[0])) {
ss.insertSheet(sn[0], ss.getSheets().length, {template: templateSheet});
}
});
}
你能澄清一下“拿模板”是什么意思吗?这是否意味着您只想复制
Generale中列出的选项卡!G2:G
?如果是,您是否考虑过该方法?脚本将根据范围“G2:G”创建空选项卡,因此如果有5行,脚本将创建5个选项卡,但为空。如何根据测试选项卡的内容生成这5个选项卡?工作正常。完成此过程后,脚本还可以删除模板工作表?@Dito您可以使用此方法。在终止函数之前,请运行ss.deleteSheet(templateSheet)
。