Fonction Save as ... PDF
Bonjour et merci de votre temps
J'ai ce code trouvé sur le net qui fonctionne très bien.
J'aimerais juste savoir comment y mettre le nom d'un cellule comme nom de sauvegarde du PDF.
Ex: en feuille PRINT en i11 j'ai une formule qui me donne le num de facture. Sauvegarde de ce nom?
Bonne journée
function buttonprtPDF() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sprsheetid = "ss.getId()";
var sheetid = ss.getSheetId();
var ssa = SpreadsheetApp.getActive();
var sheet = ssa.getSheets()[0]; //Query Sheet
var lastRow = sheet.getLastRow();
var lastColumn = sheet.getLastColumn();
//All requests must include id in the path and a format parameter
//"https://docs.google.com/spreadsheets/d/"+sprsheetid+"/export?"
//FORMATS WITH NO ADDITIONAL OPTIONS
//format=xlsx //excel
//format=ods //Open Document Spreadsheet
//format=zip //html zipped
//CSV,TSV OPTIONS***********
//format=csv // comma seperated values
// tsv // tab seperated values
//gid=sheetId // the sheetID you want to export, The first sheet will be 0. others will have a uniqe ID
// PDF OPTIONS****************
//format=pdf
//size=0,1,2..10 paper size. 0=letter, 1=tabloid, 2=Legal, 3=statement, 4=executive, 5=folio, 6=A3, 7=A4, 8=A5, 9=B4, 10=B5
//fzr=true/false repeat row headers
//portrait=true/false false = landscape
//fitw=true/false fit window or actual size
//gridlines=true/false
//printtitle=true/false
//pagenum=CENTER/UNDEFINED CENTER = show page numbers / UNDEFINED = do not show
//attachment = true/false dunno? Leave this as true
//gid=sheetId Sheet Id if you want a specific sheet. The first sheet will be 0. others will have a uniqe ID.
// Leave this off for all sheets.
// EXPORT RANGE OPTIONS FOR PDF
//need all the below to export a range
//gid=sheetId must be included. The first sheet will be 0. others will have a uniqe ID
//ir=false seems to be always false
//ic=false same as ir
//r1=Start Row number - 1 row 1 would be 0 , row 15 wold be 14
//c1=Start Column number - 1 column 1 would be 0, column 8 would be 7
//r2=End Row number
//c2=End Column number
var printRange = '&c1=0' + '&r1=0' + '&c2='+9 + '&r2='+45; // B2:APn
var url= ss.getUrl().replace(/edit$/, '') +
"export?exportFormat=pdf&" +
"format=pdf&"+
"fmcmd=12&"+
"size=0&"+
"fzr=true&"+
"gid="+sheetid+"&"+
"sheetnames=false&"+
"pagenum=UNDEFINED&"+
"gridlines=false&"+
"portrait=true&"+
"scale=2&"+
"fitw=true&"+
"horizontal_alignment=CENTER&"+
"top_margin=0.60&"+
"bottom_margin=0.10&"+
"left_margin=0.20&"+
"right_margin=0.20&"+
"attachment=true&"+ printRange;
var html = "<script>window.open('" + url + "');google.script.host.close();</script>";
var userInterface = HtmlService.createHtmlOutput(html)
.setHeight(10)
.setWidth(100);
SpreadsheetApp.getUi().showModalDialog(userInterface, 'Downloading PDF ... ');
}
Hello
Pour le moment j'ai trouvé comment renommé mon classeur avec valeur de i11
À la fin du script je le renomme
Si vous avez mieux je suis preneur
Claude
A essayer :
var docName = sheet.getRange('I11').getValue();
Oui merci
J'avais mis justement ce code au début pour la sauvegarde du PDF et à la fin je renomme mon classeur.
Je me demandais juste si il n'y avait pas une ligne de code export feuille "PRINT" en PDF au nom de de i11 directement?
Sans passé par renomme 2 fois.
Merci de ton temps
Claude
Bonjour, bonjour.
Je remercie Temjeh pour avoir mis à disposition le script pour sauver en tant que PDF une feuille Google Script.
Néanmoins, j'ai une question.
Sur la page que j'imprime, j'ai des commentaires, mis pour aider les gens à compléter le document. Mais qui n'ont aucun intérêt dans l'impression.
Quelqu'un sait comment ne pas les imprimer à partir du script fourni?
Vous en remerciant par avance,
Benjen
Bonjour
Moi perso en GoogleSheets je suis assez nul.
Une idée serait d'y faire une autre page pour tes impressions qui se réfère juste aux cells de ta feuille que tu aimerais voir à l'impression.
A+
J'ai fini par trouver.
Il faut ajouter la ligne + '&printnotes=FALSE' pour ne pas imprimer les notes.
Vous pouvez clore le sujet.