Javascript 编辑后以PDF格式发送谷歌工作表
我正在尝试使用脚本以pdf格式通过电子邮件发送google sheet。我现有的代码非常有效。但问题是,在发送之前,脚本将编辑工作表,而当以pdf格式发送时,这些更改不会被捕获。有人能帮我吗Javascript 编辑后以PDF格式发送谷歌工作表,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我正在尝试使用脚本以pdf格式通过电子邮件发送google sheet。我现有的代码非常有效。但问题是,在发送之前,脚本将编辑工作表,而当以pdf格式发送时,这些更改不会被捕获。有人能帮我吗 function sendSheetToPdfwithA1MailAdress(){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var sh = ss.getSheets()[0]; var shName = sh.getName()
function sendSheetToPdfwithA1MailAdress(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheets()[0];
var shName = sh.getName()
sh.getRange("C5:G28").setValue("LLL");
Utilities.sleep(5000)
sendSpreadsheetToPdf(0, shName, "*********@gmail.com","test mail ", "Test!");
}
function sendSpreadsheetToPdf(sheetNumber, pdfName, email,subject, 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'
+ (sheetId ? ('&gid=' + sheetId) : ('&id=' + spreadsheetId))
+ '&size=A4'
+ '&portrait=true'
+ '&fitw=true'
+ '&sheetnames=true&printtitle=false&pagenumbers=true'
+ '&gridlines=false'
+ '&fzr=false';
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+" (" + pdfName +")",
"html content only",
mailOptions);
}
}
添加
SpreadsheetApp.flush()调用spreadsheetToPdf