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.

Rechercher des sujets similaires à "fonction save pdf"