【发布时间】:2020-08-12 11:01:19
【问题描述】:
需要帮助,请在 google sheet 中编辑脚本 我想每天自动发送一封包含表格内容的电子邮件。 我可以吗 ? 我找到了这段代码
function sendmail1() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getRange(1, 1, 22, 7).getValues();
var email = "xxx@xxx.fr";
var subject = "test";
var body = "body";
data.forEach(function(column){
body += column[0] + " " + column[1] + " " + column[2] + " " + column[3] + " " + column[4] + " " + column[5] + " " + column[6] + "<br>";
});
if (MailApp.getRemainingDailyQuota() > 0)
GmailApp.sendEmail(email, subject, body, {
htmlBody: body
});
}
然后我设置了触发器 这项工作,但我收到没有表格的数据,没有布局,什么都没有 我可以有一个表格布局和数据格式吗?
(希望我的英语不会太差?;-))
感谢您的帮助
更新
function sendmail1() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var gid = sheet.getSheetId();
var pdfOpts = '&size=A3&fzr=true&portrait=false&fitw=true&gridlines=false&printtitle=true&sheetnames=true&pagenumbers=true&attachment=false&gid='+gid;
var url = ss.getUrl().replace(/edit$/, '') + 'export?format=pdf' + pdfOpts
var options = {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
}
var blobresponse = UrlFetchApp.fetch(url, options);
var blob=blobresponse.getBlob().setName(ss.getName() + " - " + CandidateName+".pdf" );
var emailAddress=Session.getActiveUser().getEmail();
var mess="Voulez-vous envoyer votre rapport à l'adresse : " + emailAddress;
var ans= Browser.msgBox("Courriel", mess, Browser.Buttons.YES_NO);
if (ans===Browser.Buttons.NO){return;}
var mess="Votre rapport a été envoyé à l'adresse : " + emailAddress;
var ss=SpreadsheetApp.getActive();
var sheet=ss.getSheetByName("Recherche");
var CandidateName=ss.getRangeByName("Nom.Candidat").getValue();
var emailSubject="Vérifications pré-emploi complétées" +" - "+ CandidateName;
var emailMessage="Bonjour," + "\n\n" + "J’ai le plaisir de vous informer que les vérifications sont complétées pour le candidat indiqué au tableau de résultats pré-emploi suivant:" + "\n\n" + "Bonne journée !";
var shts=ss.getSheets();
var hdnA=[];
shts.forEach(function(sht){if(sht.getName()!="Recherche") {sht.hideSheet();hdnA.push(sht.getName());}})
MailApp.sendEmail(emailAddress, emailSubject, emailMessage,{attachments:[blob]});
hdnA.forEach(function(name){ss.getSheetByName(name).showSheet();})
Browser.msgBox("Courriel", mess, Browser.Buttons.OK);
}
更新2
/* Envoyer la feuille de calcul par courriel au format PDF */
function emailFeuilleDeCalculVersPDF() {
// Email réceptionant le PDF de cette feuille de calcul
var email = "xxx@xxx";
// Obtenir l'URL de la feuille de calcul actuellement active (lien)
var feuille = SpreadsheetApp.getActiveSpreadsheet();
// Sujet du message
var sujet = "PDF généré depuis la feuille de calcul " + feuille.getName();
// Corps du mail
var corpsDuMessage = "<p>Bonjour,</p>Veuillez trouver en pièce jointe le PDF de votre feuille de calcul.<p>Bonne réception,</p>";
var contenant = DriveApp.getFileById(feuille.getId()).getAs("application/pdf");
contenant.setName(feuille.getName() + ".pdf");
// Si vous n'avez pas dépassé le quota, envoi du mail avec la pièce jointe en PDF.
if (MailApp.getRemainingDailyQuota() > 0)
GmailApp.sendEmail(email, sujet, corpsDuMessage, {
htmlBody: corpsDuMessage,
attachments:[contenant]
});
}
【问题讨论】: