Google sheet 到 PDF 电子邮件 getActiveSheet()

Google sheet to PDF Email getActiveSheet()

我正在寻找将当前 google sheet 转换为 PDF 并发送邮件 ActiveSheet

:此代码将所有 sheet 循环成 pdf 并通过电子邮件发送给我我只想要邮件活动选项卡。


//this code working fine but looping all sheet
function sendReport() {

  var message = {
    to: "maneeshsinghal9810@gmail.com",
    subject: "Monthly sales report",
    body: "Hi team,\n\nPlease find the monthly report attached.\n\nThank you,\nBob",
    name: "Bob",
    setName: "New",
    attachments: [SpreadsheetApp.getActiveSpreadsheet().getAs(MimeType.PDF).setName("New Report")]
  }
  MailApp.sendEmail(message);
}


  // this method is not working  
  // var ss = SpreadsheetApp.getActiveSpreadsheet();
  // var singleSheet = ss.getActiveSheet()

看看这是否有帮助

const sendReport = () => {
  const spreadsheet = SpreadsheetApp.getActive();
  const activeSheet = spreadsheet.getActiveSheet();
  const sheets = spreadsheet.getSheets();
  
  //hide all sheets except the active sheet
  sheets.forEach(sh => {
    if (sh.getName() !== activeSheet.getName()) sh.hideSheet()
  })

  const message = {
    to: "maneeshsinghal9810@gmail.com",
    subject: "Monthly sales report",
    body: "Hi team,\n\nPlease find the monthly report attached.\n\nThank you,\nBob",
    name: "Bob",
    setName: "New",
    attachments: [spreadsheet.getAs(MimeType.PDF).setName('New Report')]
  }

  MailApp.sendEmail(message);

  //unhide all sheets
  sheets.forEach(s => s.showSheet());
}