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
Post a Comment