我正在尝试将模板电子表格复制到新的电子表格。它确实可以从模板创建选项卡,但是所有选项卡都是空白/不受影响。
我获得了对模板/源和目标工作表的访问和编辑权限。
当我在Google脚本编辑器中运行调试时,将“ sourceSheet”作为对象,并使用getName()对其进行检查时,它显示了模板的名称,而“ source”则显示了模板中选项卡的名称
function onOpen(e){
var installedStatus = PropertiesService.getScriptProperties().getProperty("installed");
if(installedStatus != "true"){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var documentName=ss.getName();
if(ss.getName() == "Namnlöst kalkylark"){
ss.rename("Dashboard 2.0 - (Kundens namn)");
}
var omKund = ss.getSheetByName("Om kund");
if(omKund == null ){
copySheets("Om kund");
}
PropertiesService.getScriptProperties().setProperty("installed", "true");
}
}
function copySheets(tabname){
var sourceSheet = SpreadsheetApp.openById("ID to template spreadsheet here");
var source = sourceSheet.getSheetByName(tabname);
var sValues = source.getDataRange().getValues();
var destination = SpreadsheetApp.openById(SpreadsheetApp.getActive().getId());
source.copyTo(destination);
var destinationSheet = destination.getSheetByName("Copy of "+sourceName);
destinationSheet.getRange(1,1,sValues.length,sValues[0].length).setValues(sValues);
destinationSheet.setName(sourceName);
}'
答案 0 :(得分:0)
您的变量'sourceName'在被调用之前未设置为任何值。