Bonjour,
Voici un script qui envoi par mail la sheet active en pièce jointe.
Je voudrai envoyer dans le corps du mail et pas en pièce jointe comment dois je modifier ce script ?
OU puis-je indiqué dans le script la plage sélectionné pour l'envoi ?
Merci de votre aide
function sendSheetToPdfwithA1MailAdress(email){ // this is the function to call
DriveApp.getRootFolder(); // Juste pour que le script fonctionne
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var shName = sh.getName();
var objet = "Création dossier GI";
var contenu = "Merci de bien vouloir créer le dossier GI.";
sendSpreadsheetToPdf(sh.getSheetId(), shName, email,objet, contenu);
}
function sendSpreadsheetToPdf(sheetId, pdfName, email,subject, htmlbody) {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheetId = spreadsheet.getId()
var url_base = spreadsheet.getUrl().replace(/edit$/,'');
var url_ext = 'export?exportFormat=pdf&format=pdf' //export as pdf
+ '&gid=' + sheetId
// following parameters are optional...
+ '&size=A4' // paper size
+ '&portrait=true' // orientation, false for landscape
+ '&fitw=true' // fit to width, false for actual size
+ '&sheetnames=true&printtitle=false&pagenumbers=true' //hide optional headers and footers
+ '&gridlines=false' // hide gridlines
+ '&fzr=false'; // do not repeat row headers (frozen rows) on each page
var options = {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
}
Logger.log(url_base + url_ext);
var response = UrlFetchApp.fetch(url_base + url_ext, options);
var blob = response.getBlob().setName(pdfName + '.pdf');
if (email) {
var mailOptions = {
attachments:blob, htmlBody:htmlbody
}
MailApp.sendEmail(
email,
subject+" (" + pdfName +")",
"html content only",
mailOptions);
MailApp.sendEmail(
Session.getActiveUser().getEmail(),
"FRWD "+subject+" (" + pdfName +")",
"html content only",
mailOptions);
}
}
Voici un script qui envoi par mail la sheet active en pièce jointe.
Je voudrai envoyer dans le corps du mail et pas en pièce jointe comment dois je modifier ce script ?
OU puis-je indiqué dans le script la plage sélectionné pour l'envoi ?
Merci de votre aide
function sendSheetToPdfwithA1MailAdress(email){ // this is the function to call
DriveApp.getRootFolder(); // Juste pour que le script fonctionne
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var shName = sh.getName();
var objet = "Création dossier GI";
var contenu = "Merci de bien vouloir créer le dossier GI.";
sendSpreadsheetToPdf(sh.getSheetId(), shName, email,objet, contenu);
}
function sendSpreadsheetToPdf(sheetId, pdfName, email,subject, htmlbody) {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheetId = spreadsheet.getId()
var url_base = spreadsheet.getUrl().replace(/edit$/,'');
var url_ext = 'export?exportFormat=pdf&format=pdf' //export as pdf
+ '&gid=' + sheetId
// following parameters are optional...
+ '&size=A4' // paper size
+ '&portrait=true' // orientation, false for landscape
+ '&fitw=true' // fit to width, false for actual size
+ '&sheetnames=true&printtitle=false&pagenumbers=true' //hide optional headers and footers
+ '&gridlines=false' // hide gridlines
+ '&fzr=false'; // do not repeat row headers (frozen rows) on each page
var options = {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
}
Logger.log(url_base + url_ext);
var response = UrlFetchApp.fetch(url_base + url_ext, options);
var blob = response.getBlob().setName(pdfName + '.pdf');
if (email) {
var mailOptions = {
attachments:blob, htmlBody:htmlbody
}
MailApp.sendEmail(
email,
subject+" (" + pdfName +")",
"html content only",
mailOptions);
MailApp.sendEmail(
Session.getActiveUser().getEmail(),
"FRWD "+subject+" (" + pdfName +")",
"html content only",
mailOptions);
}
}