没有类似的应用,也不是很常见的Apps脚本问题

时间:2019-01-22 17:26:30

标签: google-apps-script

通过反复试验,我修改了以下代码行以打印范围B4:I59。有人可以帮助我理解代码的内容和/或如何阅读吗?

原始代码

var printRange = '&c1=0' + '&r1=0' + '&c2=7' + '&r2='+row2; // B2:APn    

修改后的代码

var printRange = '&c1=1' + '&r1=2' + '&c2=9' + '&r2='+row2; // B4:I59

这是我的完整代码:

//* Print Extentions
function printPdf() {
  SpreadsheetApp.flush();
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var gid = sheet.getSheetId();
  var pdfOpts = '&size=A4&fzr=false&landscape=false&fith=true&gridlines=false&printtitle=false&sheetnames=false&pagenum=UNDEFINED&attachment=false&gid='+gid;
  var row2 = 59;
  var printRange = '&c1=1' + '&r1=2' + '&c2=9' + '&r2='+row2; // B4:I59
  var url = ss.getUrl().replace(/edit$/, '') + 'export?format=pdf' + pdfOpts + printRange;
  var app = UiApp.createApplication().setWidth(200).setHeight(50);
  app.setTitle('Print Extentions List');
  var link = app.createAnchor('Download PDF', url).setTarget('_new');
  app.add(link);
  ss.show(app);
}

代码有效

1 个答案:

答案 0 :(得分:0)

在此行:

  var url = ss.getUrl().replace(/edit$/, '') + 'export?format=pdf' + pdfOpts + printRange;

您正在定义一个URL,该URL将允许您使用指定的选项将给定的电子表格导出为PDF。 &符号将您传递到URL中的参数分开。

This document很好地描述了您正在使用的参数。根据该文件:

//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