Использование скрипта Google Apps для сохранения одного листа из таблицы в формате PDF в определенной папке
Я использую электронную таблицу Google для подготовки счетов и искал простой сценарий, который сохраняет лист, в котором находится счет, в папке «счета» для создания архива. Я «позаимствовал» код у многочисленных авторов статей о Stackoverflow и YouTube и придумал код, который работает. Мне пришлось скопировать счет-фактуру во вновь созданную электронную таблицу, потому что кажется невозможным создать PDF-файл из одной таблицы в виде таблицы. Мне также пришлось использовать кусок кода, чтобы переместить pdf из корня в папку «счета». Единственное, что я не могу решить, - это то, что электронная таблица, созданная в строке 6, состоит из 2 листов. Пустой и правильно скопированный. Таким образом, созданный PDF-файл имеет 2 листа: один пустой и один правильный. Кто-нибудь получил ключ, как решить эту проблему? Между прочим, иногда pdf показывается в папках.
Ниже приведен код
function generatePdf(){
//Create a temporary spreadsheet, to store the desired sheet from the spreadsheet in.
var originalSpreadsheet = SpreadsheetApp.getActive();
originalSpreadsheet.setActiveSheet(originalSpreadsheet.getSheets()[4]);
var name = "Testname"
var newSpreadsheet = SpreadsheetApp.create(name);
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet = originalSpreadsheet.getActiveSheet();
sheet.copyTo(newSpreadsheet);
//Save the desired sheet as pdf
var pdf = DriveApp.getFileById(newSpreadsheet.getId()).getAs('application/pdf');
var saveCopy = DriveApp.createFile(pdf);
//Delete temporary spreadsheet
DriveApp.getFilesByName(name).next().setTrashed(true);
//Move the pdf file from the rootfolder to the folder where invoices are to be stored.
var files = DriveApp.getRootFolder().getFiles();
while (files.hasNext()) {
var file = files.next();
var destination = DriveApp.getFolderById("0B3ok04PZOVbgLXA2dy14MVlLRXM");
destination.addFile(file);
var pull = DriveApp.getRootFolder();
pull.removeFile(file);
}
}