Есть скрипт, который я вытащил с этого форума, и в большинстве случаев он отлично работает. Мне просто трудно написать несколько изменений, которые я сделал.
Я создаю дату (извлекается из ячейки на листе) и помещаю ее в строку темы письма, однако это автоматическое форматирование, включающее время и часовой пояс. например, ср. 04 марта 2020 00:00:00 GMT + 1300 (NZDT). Я бы хотел, чтобы он отображался так, как он отформатирован в листе. например, ср. март 04.
Попытка создать первую строку листа [строка 3] и игнорирование первых двух строк при создании PDF.
Любая помощь высоко ценится.
function emailPdf(){ // this is the function to call
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheets()[3];
var shName = sh.getName()
sendSpreadsheetToPdf(3, shName, ('myemail@gmail.com'), sh.getRange('B3').getValue(), sh.getRange('B4').getValue(), sh.getRange('D28').getValue());
}
function sendSpreadsheetToPdf(sheetNumber, pdfName, email, subject, date, htmlbody) {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheetId = spreadsheet.getId();
var sheetId = sheetNumber ? spreadsheet.getSheets()[sheetNumber].getSheetId() : null;
var url_base = spreadsheet.getUrl().replace(/edit$/,'');
var url_ext = 'export?exportFormat=pdf&format=pdf' //export as pdf
+ (sheetId ? ('&gid=' + sheetId) : ('&id=' + spreadsheetId))
// 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(),
}
}
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+" | "+date+" (" + pdfName +")",
"html content only",
mailOptions);
MailApp.sendEmail(
Session.getActiveUser().getEmail(),
subject+" | "+date+" (" + pdfName +")",
"html content only",
mailOptions);
}
}