#google-apps-script
#google-apps-script
Вопрос:
Я думаю, что это должно быть очень легко увидеть, но я этого не вижу! Этот скрипт отправляет лист в формате PDF. Он работает хорошо, за исключением того, что строка темы пуста. Я попытался заменить фактическую строку для переменной в классе GmailApp внизу, но строка темы по-прежнему пуста, когда приходит электронное письмо. Помогите! Спасибо. PS — обратите внимание, что я удалил адрес электронной почты для конфиденциальности.
function emailPDF(email, subject, body, sheetName) {
var email = "...";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Client');
var cost = sheet.getSheetValues(1,1,1,1).toLocaleString();
var subject = ss.getName();
var body = "Hi Serenity, the material cost is $" cost " Thank you!";
// Base URL
var url = "https://docs.google.com/spreadsheets/d/SS_ID/export?".replace("SS_ID", ss.getId());
/* Specify PDF export parameters
From: https://code.google.com/p/google-apps-script-issues/issues/detail?id=3579
*/
var url_ext = 'exportFormat=pdfamp;format=pdf' // export as pdf / csv / xls / xlsx
'amp;size=letter' // paper size legal / letter / A4
'amp;portrait=true' // orientation, false for landscape
'amp;fitw=trueamp;source=labnol' // fit to page width, false for actual size
'amp;sheetnames=falseamp;printtitle=false' // hide optional headers and footers
'amp;pagenumbers=falseamp;gridlines=false' // hide page numbers and gridlines
'amp;fzr=false' // do not repeat row headers (frozen rows) on each page
'amp;gid='; // the sheet's Id
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url url_ext sheet.getSheetId(), {
headers : {
'Authorization' : 'Bearer ' token
}
}).getBlob().setName(ss.getName() ".pdf");
// save PDF to drive
// var newFile = DriveApp.createFile(response).setName(sheet.getName() ".pdf")
if (MailApp.getRemainingDailyQuota() > 0)
GmailApp.sendEmail(email, subject, body, {
htmlBody : body,
attachments : [response]
});
}
Комментарии:
1. Итак, вы предоставляете
subject
ответ, используя этот метод , и отправленное электронное письмо не имеет темы? Я не могу воспроизвести это. Убедитесь, что вы ничего не упустили (вы просматриваете правильное электронное письмо? Вы увереныsubject
, что это не пустая строка? и т.д.).
Ответ №1:
Я понял это … это была просто мелкая ошибка. В электронной таблице много сценариев. Я взял этот скрипт месяц назад, начал с нуля и случайно дал ему то же имя функции. Оба скрипта вызывались одновременно, что привело к такому результату. Теперь все работает. Я ценю ваш комментарий Lamblichus… Я был настолько сосредоточен на неправильном сценарии, что не понимал, что происходит. Затем я понял, что это не может быть неправильным. Вы заставили меня думать правильно. Лучшие.