Usando o Script do Google Apps para salvar uma única planilha de uma planilha como pdf em uma pasta específica
Estou usando uma planilha do Google para preparar faturas e estava procurando por um script simples que salve uma planilha em que a fatura está, em uma pasta "faturas" para criar um arquivo morto. Eu "emprestei" código de vários colaboradores no Stackoverflow e no youtube e criei um código que funciona. Eu tive que copiar a fatura para uma planilha recém-criada, porque parece impossível criar um pdf a partir de uma única planilha no tipo planilha. Também precisei usar um código para mover o pdf da raiz para uma pasta "faturas". A única coisa que não consigo resolver é que a planilha criada na linha 6 consiste em 2 folhas. Um vazio e um copiado corretamente. O pdf criado, portanto, possui 2 folhas, uma vazia e uma correta. Alguém tem uma idéia de como resolver isso? A propósito, às vezes, leva alguns minutos para que o pdf seja exibido nas pastas.
Abaixo está o código
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);
}
}