首页 > 解决方案 > 如何使用 onEdit 功能在电子邮件中以 PDF 格式发送一系列单元格

问题描述

如何创建允许我在电子邮件中以 PDF 格式发送一系列单元格的 onEdit 函数?

这是我到目前为止所拥有的:

function pdfEmailOnEdit(e) {

if(e.range.getA1Notation().indexOf("B2") == -1)          
  if(e.range.getA1Notation().indexOf("B3") == -1)      
    if(e.range.getA1Notation().indexOf("B4") == -1)       
      if(e.range.getA1Notation().indexOf("B5") == -1)
        if(e.range.getA1Notation().indexOf("B6") == -1)
          if(e.range.getA1Notation().indexOf("B7") == -1)
            if(e.range.getA1Notation().indexOf("B8") == -1)
              if(e.range.getA1Notation().indexOf("B9") == -1)

var email = "some@gmail.com"; 
var ss = SpreadsheetApp.getActiveSpreadsheet();
var subject = "PDF generated from spreadsheet " + ss.getName(); 
var body = "Test.";
var blob = DriveApp.getFileById(ss.getId()).getAs("application/pdf");
  blob.setName(ss.getName() + ".pdf");

  if (MailApp.getRemainingDailyQuota() > 0) 
    GmailApp.sendEmail(email, subject, body, {
      htmlBody: body,
      attachments:[blob]     
    });  
}

这是我需要帮助的地方:

  1. 我需要将此代码设置为 onEdit 函数。

  2. 我想触发电子邮件的唯一单元格是:B2:B9

  3. 我想在电子邮件中以 PDF 格式发送的单元格是 A118:H149。他们必须保持他们的格式。

  4. 我只想要这张纸中的单元格,而不想要任何其他纸。

标签: javascriptgoogle-apps-scriptgoogle-sheets

解决方案


推荐阅读