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 ?

et où puis-je indiquer dans le script la plage sélectionné pour l'envoi que ce ne soit pas toute la feuille ?

Merci de votre aide

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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);
	}
}