通过Google表格中的GMail仅将活动工作表作为PDF附件发送

时间:2018-02-02 15:26:56

标签: javascript google-sheets-api

现在,我的代码将我的整个Google Sheet文件作为PDF附件发送。不过,我只需要发送一个名为" PO模板"的标签。如果您能提供帮助,请告诉我们:

function emailGoogleSpreadsheetAsPDF() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var email = ss.getRange("A19").getValue();
  var PO = ss.getRange("N3").getValue();
  var subject = "PO No. " + PO;
  var blob = 
DriveApp.getFileById(shs.getId()).getAs("Application/pdf");
  var body = "Install the <a href='http://www.labnol.org/email-
sheet'>Email Spreadsheet add-on</a> for one-click conversion.";
  blob.setName(ss.getName()+".pdf");
  if(MailApp.getRemainingDailyQuota()>0)
    GmailApp.sendEmail(email, subject, body, {
      htmlBody: body,
      attachments:[blob]
    });
}

1 个答案:

答案 0 :(得分:0)

不要认为有一种特殊方法可以做到这一点。您必须按照此github tutorial

的建议求助于解决方法
// Create a new Spreadsheet and copy the current sheet into it.
  var newSpreadsheet = SpreadsheetApp.create("Spreadsheet to export");
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var projectname = SpreadsheetApp.getActiveSpreadsheet();
  sheet = originalSpreadsheet.getActiveSheet();
  sheet.copyTo(newSpreadsheet);

  // Find and delete the default "Sheet 1", after the copy to avoid triggering an apocalypse
  newSpreadsheet.getSheetByName('Sheet1').activate();
  newSpreadsheet.deleteActiveSheet();