Google apps script Google Sheet:使用命名范围功能保存PDF,然后通过按钮发送电子邮件
有人能帮我把这两个代码结合起来吗?我想有一个功能,以保存和电子邮件从电子表格的pdf文件。这两个代码可以工作,但我甚至不能将它们结合起来 以下是另存为PDF的代码: 函数onOpen(){ SpreadsheetApp.getUi() .createAddonMenu() .addItem('Export all sheet'、'exportAsPDF') .addItem('Export selected area','exportPartAsPDF') .addItem('导出预定义区域','导出名称DrangeSPDF') .addToUi() } 函数exportAsPDF(){ var spreadsheet=SpreadsheetApp.getActiveSpreadsheet() var blob=\u getAsBlob(spreadsheet.getUrl()) _exportBlob(blob,电子表格.getName()) } var timeZone=Session.getScriptTimeZone(); var date=Utilities.formatDate(新日期(),时区,“yyyy”); 函数getFilename(){ var ss=SpreadsheetApp.getActive(); var sheet=ss.getSheetByName('Manifest'); var filename=“FORM137-”+ss.getRange(“报告卡!D12”).getValue()+“-ARCS”+日期; 返回文件名; } 函数_exportBlob(blob,文件名){ //时间戳 var timeZone=Session.getScriptTimeZone(); var date=Utilities.formatDate(新日期(),时区,“yyyy”); //获取活动的电子表格 var ss=SpreadsheetApp.getActiveSpreadsheet(); //从工作表“sheet”上的B2单元格中获取一个值作为新文件名 var fileName=“FORM137-”+ss.getRange(“报告卡!D12”).getValue()+“-ARCS”+日期; //获取电子表格ID var ssID=ss.getId(); //按ID获取电子表格文件 var ssFile=DriveApp.getFileById(ssID); blob=blob.setName(文件名) var parentFolder=DriveApp.getFileById(ss.getId()).getParents().next(); var subFolder=parentFolder.getFoldersByName(“卡片”).next(); var files=subFolder.getFilesByName(getFilename()); if(files.hasNext()){ files.next().setTrashed(true); } var pdfFile=subFolder.createFile(blob); 如果(pdfFile){ 常量htmlOutput=HtmlService .createHtmlOutput(“单击以打开””) .setWidth(300) .设置高度(80) SpreadsheetApp.getUi().showModalDialog(htmlOutput,“导出成功”) } } 函数_getAsBlob(url、工作表、范围){ 变量rangeParam='' 变量sheetParam='' 如果(范围){ rangeParam= “&r1=”+(range.getRow()-1) +“&r2=”+range.getLastRow() +“&c1=”+(range.getColumn()-1) +“&c2=”+range.getLastColumn() } 若有(第页){ sheetParam='&gid='+sheet.getSheetId() } var exportUrl=url.replace(/\/edit.*$/,“”)+'/export?exportFormat=pdf&format=pdf' +'&size=folio' +'&纵向=真' +'&fitw=true' +'&上_边距=0.5' +'&底部_边距=0.5' +'&左_边距=0.5' +'&右边距=0.5' +'&sheetnames=false&printtitle=false' +'&pagenum=false' +'&网格线=真' +'&fzr=FALSE' +sheetParam +范围参数 Logger.log('exportUrl='+exportUrl) var response=UrlFetchApp.fetch(exportUrl{ 标题:{ 授权:'Bearer'+ScriptApp.getOAuthToken(), }, }) 返回响应。getBlob() } 函数exportPartAsPDF(预定义范围){ var ui=SpreadsheetApp.getUi() var spreadsheet=SpreadsheetApp.getActiveSpreadsheet() 变量选择范围 var fileSuffix if(预定义范围){ selectedRanges=预定义的范围 fileSuffix='-预定义' }否则{ var activeRangeList=spreadsheet.getActiveRangeList() 如果(!activeRangeList){ ui.alert('请至少选择一个要导出的范围') 返回 } selectedRanges=activeRangeList.getRanges() fileSuffix='-selected' } 如果(selectedRanges.length==1){ //带格式的特殊导出 var currentSheet=selectedRanges[0]。getSheet() var blob=\u getAsBlob(电子表格.getUrl(),currentSheet,selectedRanges[0]) var fileName=spreadsheet.getName()+fileSuffix _exportBlob(blob,文件名) 返回 } var tempseadsheet=SpreadsheetApp.create(spreadsheet.getName()+fileSuffix) var tempSheets=tempSpreadsheet.getSheets() var sheet1=tempSheets.length>0?tempSheets[0]:未定义 SpreadsheetApp.setActiveSpreadsheet(临时电子表格) tempSpreadsheet.setSpreadsheetTimeZone(电子表格.getSpreadsheetTimeZone()) tempSpreadsheet.setSpreadsheetLocale(电子表格.getSpreadsheetLocale()) 对于(变量i=0;iGoogle apps script Google Sheet:使用命名范围功能保存PDF,然后通过按钮发送电子邮件,google-apps-script,google-sheets,Google Apps Script,Google Sheets,有人能帮我把这两个代码结合起来吗?我想有一个功能,以保存和电子邮件从电子表格的pdf文件。这两个代码可以工作,但我甚至不能将它们结合起来 以下是另存为PDF的代码: 函数onOpen(){ SpreadsheetApp.getUi() .createAddonMenu() .addItem('Export all sheet'、'exportAsPDF') .addItem('Export selected area','exportPartAsPDF') .addItem('导出预定义区域'