我可以使用应用程序脚本在单元格中运行范围,并将每次迭代的结果保存/导出为pdf吗?

时间:2018-02-01 14:36:57

标签: google-apps-script google-sheets

我想知道是否可以使用应用程序脚本在单元格中运行一系列值并保存每个结果。

我已经设置了一个模板,在其中我将一个值(A名称)输入到特定单元格中,并返回有关该输入的详细信息,包括日期,时间和活动的列表。最终,此模板将保存为pdf并通过电子邮件发送给此人。我需要为50多个名字的列表执行此操作,因此手动操作需要一些时间。

我的问题是我可以通过模板所基于的单元格运行列表(包含在电子表格中的范围内)并将每次迭代保存为pdf,然后可以将其邮寄到联系人列表中吗?

不幸的是,我无法共享我正在使用的工作表,因为它包含敏感的私人信息。

1 个答案:

答案 0 :(得分:0)

看起来像这样:

function sendClientPDF(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('SheetName');
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  for(var i=0;i<vA.length;i++){
    var pdfstr=vA[i].join('\n');
    var pdffile=DriveApp.createFile('pdfFile'+ i + 1,pdfstr, MimeType.PDF);
    var recipient="EmailAddress";
    var subject="Subject";
    var body="Messages";
    GmailApp.sendEmail(recipient, subject, body, {attachments: [pdffile.getAs(MimeType.PDF)]});
  }
}

请注意,这只是一个例子。我还没有测试它,它可能不起作用。但documentation中有几个相关的例子。