如何从Google工作表发送电子邮件并将工作表作为PDF附件

问题描述 投票:1回答:2

我有一个Google工作表,其中有两个工作表,表单响应报告see here

当表单提交报告表更改时,响应表的最后一个表单或最后一行。我想发送电子邮件给提交表单的人,并将报告表另存为PDF发送电子邮件后,在e列中写已发送电子邮件see here

通过电子邮件发送至:表单回复列b主题:某些文本和“表单回复”列a抄送:[email protected]正文:某些文本和“表单响应”列f附:报告表为PDF

javascript email google-sheets spreadsheet email-attachments
2个回答
1
投票

我建议您为此使用Apps脚本。

您作为表单和响应表的所有者,可以创建绑定脚本,并使用Gmail和Forms服务创建所需的pdf,并将其发送给用户。

您还可以创建触发器来检查何时提交新响应。


参考:


0
投票

我使用了此代码,但是它不起作用

 function onSubmit(e){
  Logger.log('submit ran');

 var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

  var lastRow = sheet.getLastRow();
  var sa = sheet.getRange(lastRow, 1).getValue();
  var sB = sheet.getRange(lastRow, 2).getValue();
var sf = sheet.getRange(lastRow, 6).getValue();


  var ssID = SpreadsheetApp.getActiveSpreadsheet().getId();
  var sheetgId = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getSheetId();
  var email =  Session.getUser().getEmail();
  var subject = SB;
  var body = Sf;


  var url = "https://docs.google.com/spreadsheets/d/e/..............................................................=0&single=true&output=pdf";


  var result = UrlFetchApp.fetch(url)

  var contents = result.getContent();

 if (emailSent !== "EMAIL_SENT") { 

      MailApp.sendEmail(email,subject ,body, {attachments:[{fileName:SB+".pdf", content:contents, mimeType:"application//pdf"}]});
       sheet.getRange().setValue("EMAIL_SENT");

          SpreadsheetApp.flush();

        }
  }

我从电子表格中获取url>文件>发布到网络>以pdf形式发布报告标签

© www.soinside.com 2019 - 2024. All rights reserved.