Google Script - Send active sheet as PDF to email listed in cell -


i'm trying use script below send first sheets in google sheets document email pdf. email send to, listed in cell a1.

however, script send entire spreadsheet pdf , not first sheet. have been trying use of other scripts stackoverflow, 1 sends email.

hope guys can me out.

        /* email google spreadsheet pdf */ function emailgooglespreadsheetaspdf() {    // send pdf of spreadsheet email address   var email = "amit@labnol.org";     // active spreadsheet url (link)   var ss = spreadsheetapp.getactivespreadsheet();    // subject of email message   var subject = "pdf generated spreadsheet " + ss.getname();     // email body can  html    var body = "install <a href='http://www.labnol.org/email-sheet'>email spreadsheet add-on</a> one-click conversion.";    var blob = driveapp.getfilebyid(ss.getid()).getas("application/pdf");    blob.setname(ss.getname() + ".pdf");    // if allowed send emails, send email pdf attachment   if (mailapp.getremainingdailyquota() > 0)      gmailapp.sendemail(email, subject, body, {       htmlbody: body,       attachments:[blob]          });   } 

below working version few useful parameters may want use.

updated code

function sendsheettopdfwitha1mailadress(){ // function call   var ss = spreadsheetapp.getactivespreadsheet();   var sh = ss.getsheets()[0]; // send sheet 0 wich first sheet in spreadsheet.   // if change number, change in parameters below   var shname = sh.getname()   sendspreadsheettopdf(0, shname, sh.getrange('a1').getvalue(),"test email adress in cell a1 ", "this !"); } function sendspreadsheettopdf(sheetnumber, pdfname, email,subject, htmlbody) {   var spreadsheet = spreadsheetapp.getactivespreadsheet();   var spreadsheetid = spreadsheet.getid()     var sheetid = sheetnumber ? spreadsheet.getsheets()[sheetnumber].getsheetid() : null;     var url_base = spreadsheet.geturl().replace(/edit$/,'');    var url_ext = 'export?exportformat=pdf&format=pdf'   //export pdf        + (sheetid ? ('&gid=' + sheetid) : ('&id=' + spreadsheetid))        // following parameters optional...       + '&size=a4'      // paper size       + '&portrait=true'    // orientation, false landscape       + '&fitw=true'        // fit width, false actual size       + '&sheetnames=true&printtitle=false&pagenumbers=true'  //hide optional headers , footers       + '&gridlines=false'  // hide gridlines       + '&fzr=false';       // not repeat row headers (frozen rows) on each page    var options = {     headers: {       'authorization': 'bearer ' +  scriptapp.getoauthtoken(),     }   }    var response = urlfetchapp.fetch(url_base + url_ext, options);   var blob = response.getblob().setname(pdfname + '.pdf');   if (email) {     var mailoptions = {       attachments:blob, htmlbody:htmlbody     } mailapp.sendemail(       email,        subject+" (" + pdfname +")",        "html content only",        mailoptions);  mailapp.sendemail(       session.getactiveuser().getemail(),        "frwd "+subject+" (" + pdfname +")",        "html content only",        mailoptions);   } } 

Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -