I'm trying to export automaticaly in PDF some sheets logged into a dedicated sheet called "To print" (in column B there is the list of sheets to print)
function onOpen() {
var ui = SpreadsheetApp.getUi();
var menu = ui.createMenu("GED");
menu.addItem("Enregistrer le PDF ↓ ","savePDF");
menu.addToUi();
}
function savePDF()
{
// SÉLECTIONNER LA FEUILLE A SAUVEGARDER
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
//URL de SS ?
var ssUrl = ss.getUrl();
var sheetId= sheet.getSheetId();
// Créer l'URL du document
var url = ssUrl.replace(/\/edit.*$/,'')
+ '/export?exportformat=pdf&format=pdf'
+ '&size=LETTER'
+ '&portrait=true'
+ '&fitw=true'
+ '&top_margin=0.50'
+ '&bottom_margin=0.50'
+ '&left_margin=0.50'
+ '&right_margin=0.50'
+ '&sheetnames=false'
+ '&printtitle="TEST"'
+ '&pagenum=false'
+ '&gridlines=false'
+ '&fzr=FALSE'
+ '&gid='+sheetId;
// RÉCOLTER LES INFORMATIONS DANS LE SHEET POUR COMPOSER LE NOM DU DOCUMENT
var docId = sheet.getRange('B2').getValue();
var clientName = sheet.getRange('B2').getValue();
var docDate = sheet.getRange('A7').getValue();
//mise en forme de la date : mois-annee
var docDateMMYY = (docDate.getMonth()+1)+"-"+docDate.getFullYear();
// Concaténons le tout
var docName = docId+"_DEVIS_10Zaine_"+clientName+"_"+docDateMMYY ;
// CRÉER LE PDF A PARTIR DE L'URL
var token = ScriptApp.getOAuthToken();
var docurl = UrlFetchApp.fetch(url, { headers: { 'Authorization': 'Bearer ' + token } });
var pdf = docurl.getAs('application/pdf').setName(docName);;
var file = DriveApp.createFile(pdf);
//COPIER LE PDF DANS LE DOSSIER
/*
ATTENTION IL FAUT ADAPTER LE CODE AVEC L'ID DU FOLDER DE DESTINATION
*/
var folder = DriveApp.getFolderById("1_ngDfUG2KHeI-97MD9qoZpXcNsXQrj5o");
var finalfile = file.moveTo(folder);
}
Exception: Cannot call SpreadsheetApp.getUi() from this context.
Hopefully someone will be able to help me...