如何在Google Sheet中合并这两个函数



我在Google Sheet中有以下功能:

function DUPLICATE() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.duplicateActiveSheet();
var rangeList = spreadsheet.getRangeList(['A15:G38', 'F8:G11', 'B9:D13']).clearContent();

};
function sheetName() {
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();

};

当我单击"复制"按钮时,它会触发第一个函数"复制",但对于第二个函数,我需要返回谷歌脚本和保存,以便更改我分配给=sheetName()的单元格。

有什么方法可以让我自动化吗?

说明:

你不需要两个函数来实现你的目标,而且你当前的流程涉及一个自定义函数,需要手动干预才能更新它。

  • 在以下脚本中,您需要更改两个变量:

    const src_name = 'Sheet A';
    const trg_name = 'Sheet B';
    

然后选择您选择的工作表名称。脚本将复制Sheet A并将其重命名为Sheet B。请根据您的具体情况修改这两个名称。执行DUPLICATE()后,将创建具有所选名称的副本,目标文件中的范围列表将被清除,您将在单元格B3中看到目标工作表的名称。


解决方案:

function DUPLICATE() {
const src_name = 'Sheet A';
const trg_name = 'Sheet B';
const sprd = SpreadsheetApp.getActive();
const sh_src = sprd.getSheetByName('Sheet A');
const sh_trg =sh_src.copyTo(sprd);
sh_trg.setName(trg_name);
sh_trg.getRangeList(['A15:G38', 'F8:G11', 'B9:D13']).clearContent();
sh_trg.getRange('B3').setValue(trg_name);
sh_trg.activate();
}

最新更新