我有这个脚本,定期通过电子邮件将speadsheet的内容发送给所有合作者。
function myFunction() {
var document = SpreadsheetApp.openById("123documentid456");
var editors = document.getEditors();
for(var i = 0; i < editors.length; i++){
MailApp.sendEmail(editors[i].getEmail(), "Subject", "Some message", {
attachments : [document.getAs(MimeType.PDF)]
});
}
}
它会创建一个PDF并通过电子邮件发送给它。事情是内容不能很好地显示,因为PDF的方向是肖像。有没有办法让它出口到景观?
答案 0 :(得分:2)
从here开始,此代码可以提供帮助
*************************************************
function savePDFs() {
SpreadsheetApp.flush();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var url = ss.getUrl();
//remove the trailing 'edit' from the url
url = url.replace(/edit$/,'');
//additional parameters for exporting the sheet as a pdf
var url_ext = 'export?exportFormat=pdf&format=pdf' + //export as pdf
//below parameters are optional...
'&size=letter' + //paper size
'&portrait=false' + //orientation, false for landscape, true for portrait
'&fitw=true' + //fit to width, false for actual size
'&sheetnames=false&printtitle=false&pagenumbers=false' + //hide optional headers and footers
'&gridlines=false' + //hide gridlines
'&fzr=false' + //do not repeat row headers (frozen rows) on each page
'&gid=' + sheet.getSheetId(); //the sheet's Id
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url + url_ext, {
headers: {
'Authorization': 'Bearer ' + token
}
});
var blob = response.getBlob().setName(sheet.getName() + '.pdf');
//from here you should be able to use and manipulate the blob to send and email or create a file per usual.
//In this example, I save the pdf to drive
DocsList.createFile(blob);
//OR DriveApp.createFile(blob);
}
*************************************************
注意这一点:'&portrait=false' + //orientation, false for landscape, true for portrait