我有一个非常复杂的脚本来执行此操作,但我已经提取并更改了它,以便它适合您的目的和导出类型等...
function sendPdf() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh1 = ss.getSheetByName('Sheet1');//<<--------<<-----DEFINE YOUR FIRST SHEET
var sh2 = ss.getSheetByName('Sheet2');//<<--------<<-----DEFINE YOUR SECOND SHEET
var exportName1 = "Test1";//<<--------<<------<<--------DEFINE THE 1st ATTACHMENT NAME
var exportName2 = "Test2";//<<--------<<------<<--------DEFINE THE 2nd ATTACHMENT NAME
var url1 = 'https://docs.google.com/spreadsheets/d/'+ss.getId()+'/export?exportFormat=csv&format=csv'
+ '&size=A4'
+ '&portrait=false'
+ '&fitw=true'
+ '&top_margin=0.60'
+ '&bottom_margin=0.60'
+ '&left_margin=0.60'
+ '&right_margin=0.60'
+ '&sheetnames=false&printtitle=false'
+ '&pagenumbers=false&gridlines=false'
+ '&fzr=false'
+ '&gid='+sh1.getSheetId();
var url2 = 'https://docs.google.com/spreadsheets/d/'+ss.getId()+'/export?exportFormat=csv&format=csv'
+ '&size=A4'
+ '&portrait=false'
+ '&fitw=true'
+ '&top_margin=0.60'
+ '&bottom_margin=0.60'
+ '&left_margin=0.60'
+ '&right_margin=0.60'
+ '&sheetnames=false&printtitle=false'
+ '&pagenumbers=false&gridlines=false'
+ '&fzr=false'
+ '&gid='+sh2.getSheetId();
var response1 = UrlFetchApp.fetch(url1, {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()}
});
var response2 = UrlFetchApp.fetch(url2, {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()}
});
var blob1 = response1.getBlob().setName(exportName1);
var blob2 = response2.getBlob().setName(exportName2);
MailApp.sendEmail({to: 'email@email.com', //<<--------<<------EMAIL TO SEND TO
subject: 'Send Multiple Sheets',//<<-------EMAIL SUBJECT
message: 'See attached',//<<--------<<-----EMAIL BODY - I WOULD GENERALLY USE htmlBody BUT IN THIS CASE EDITED TO NOT GET TOO CONFUSING
name: 'Send Sheets',//<<--------<<------<<-NAME THAT APPEARS WHEN EMAIL SENT
replyTo: 'no-reply@email.com',//<<--------<WHERE A REPLY TO THE EMAIL WILL GO
attachments: [{
fileName: exportName1,
content: blob1.getBytes(),
mimeType: "text/csv"},{
fileName: exportName2,
content: blob2.getBytes(),
mimeType: "text/csv"}],
});
}
这可能会使用for()
etc 进行编辑以使其更整洁,但这使其易于开始。要添加更多工作表,几乎可以复制并粘贴代码,然后更改相关var
的等