Функция Google Apps Script copyTo () - копирует только лист, а не содержимое - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь скопировать электронную таблицу шаблона в новую электронную таблицу. Ему удается создавать вкладки из шаблона, но все вкладки пусты / не затронуты.

Я получил доступ и разрешение на редактирование как шаблона / источника, так и листа назначения.

Когда я запускаю отладку в Google Script Editor, я получаю «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);
}'

1 Ответ

0 голосов
/ 18 апреля 2019

Ваша переменная 'sourceName' не имеет никаких значений перед вызовом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...