Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Google Sheet:使用命名范围功能保存PDF,然后通过按钮发送电子邮件_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script Google Sheet:使用命名范围功能保存PDF,然后通过按钮发送电子邮件

Google 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('导出预定义区域'

有人能帮我把这两个代码结合起来吗?我想有一个功能,以保存和电子邮件从电子表格的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;i
  • 如何在Nexus中重建NPM存储库的索引?
  • npm脚本:是否存在跨平台条件语句?
  • vuejs:npm运行开发程序不工作
  • 如何使用cmake运行npm命令
  • 配置npm';s package-lock.json以防止修剪特定模块
  • &引用;“产卵未知”;使用npm'时出错;s OpenFin
  • 每当我尝试安装npm时,它都会抛出以下错误,
  • 在npm中尝试执行任何操作时出现SyntaxerError
  • 强制npm更新依赖项
  • Npm HTTP 502错误仅适用于Azure Devops中的cordova插件包
  • 临时设置npm配置';审计级别';至';关键';
  • Npm 使用自定义注册表,最好从package.json开始
  • Npm VMware Ubuntu guest共享文件夹中的新Ember.js应用程序
  • Npm 是否可以并行运行量角器测试套件?
  • GitLab上载带有dynamic package.json信息的npm包
  • 每个以npm开头的命令都有问题
  • 升级npm,npm错误!错误:EACCES:权限被拒绝