以 PDF 格式发送多张特定工作表 - Google 工作表
Send multiple, specific sheets as PDF - Google Sheets
我正在尝试将特定的 sheet 作为 PDF 电子邮件附件发送。
我有下面的代码,它能够将每个指定的 sheet 作为单独的电子邮件导出和发送,但我希望它能够接受多个用户指定的 sheet 名称并发送它们都作为单个电子邮件中的单个附件。一封电子邮件中的多个附件同样有效。
我目前使用的代码:
function mainSendEmail(){
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('SEND EMAIL', ui.ButtonSet.YES_NO);
if (response.getSelectedButton() == ui.Button.YES) {
emailSpreadsheetAsPDF_CHARTS();
SpreadsheetApp.flush();
emailSpreadsheetAsPDF_PL();
SpreadsheetApp.flush();
emailSpreadsheetAsPDF_Wages();
} else {
Logger.log('Do not send');
}
}
function emailSpreadsheetAsPDF_CHARTS() {
const sheetToPrint = "CHARTS"; // name of the sheet to print
const ss = SpreadsheetApp.getActiveSpreadsheet(); // the sheets to use
const email = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I89').getValue().toString(); // grab the email address
const date = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I91').getValue().toString(); // grab the date
const subject = `SF - Flotta (${date})`; // the subject of the email
const body = emailBody; // body of the email
const shID = ss.getSheetByName(sheetToPrint).getSheetId(); // the ID of the sheet
const url = 'https://docs.google.com/spreadsheets/d/SS_ID/export?'.replace('SS_ID', ss.getId()); // url of the spreadsheet
const exportOptions =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=true'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID; // the sheet's Id
var params = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response = UrlFetchApp.fetch(url+exportOptions, params).getBlob();
// send the email to the specified address with the specified body text and attached PDF file
GmailApp.sendEmail(email, subject, body, {
htmlBody: body,
attachments: [{
fileName: `SF - Flotta (${date})` + ".pdf",
content: response.getBytes(),
mimeType: "application/pdf"
}]
});
}
function emailSpreadsheetAsPDF_PL() {
const sheetToPrint = "QPL"; // name of the sheet to print
const ss = SpreadsheetApp.getActiveSpreadsheet(); // the sheets to use
const email = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I89').getValue().toString(); // grab the email address
const date = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I91').getValue().toString(); // grab the date
const subject = `SF - Flotta PL (${date})`; // the subject of the email
const body = emailBody; // body of the email
const shID = ss.getSheetByName(sheetToPrint).getSheetId(); // the ID of the sheet
const url = 'https://docs.google.com/spreadsheets/d/SS_ID/export?'.replace('SS_ID', ss.getId()); // url of the spreadsheet
const exportOptions =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=true'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID; // the sheet's Id
var params = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response = UrlFetchApp.fetch(url+exportOptions, params).getBlob();
// send the email to the specified address with the specified body text and attached PDF file
GmailApp.sendEmail(email, subject, body, {
htmlBody: body,
attachments: [{
fileName: `SF - Flotta PL (${date})` + ".pdf",
content: response.getBytes(),
mimeType: "application/pdf"
}]
});
}
function emailSpreadsheetAsPDF_Wages() {
const sheetToPrint = "QWages"; // name of the sheet to print
const ss = SpreadsheetApp.getActiveSpreadsheet(); // the sheets to use
const email = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I89').getValue().toString(); // grab the email address
const date = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I91').getValue().toString(); // grab the date
const subject = `SF - Flotta Bérek (${date})`; // the subject of the email
const body = emailBody; // body of the email
const shID = ss.getSheetByName(sheetToPrint).getSheetId(); // the ID of the sheet
const url = 'https://docs.google.com/spreadsheets/d/SS_ID/export?'.replace('SS_ID', ss.getId()); // url of the spreadsheet
const exportOptions =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=false'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID; // the sheet's Id
var params = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response = UrlFetchApp.fetch(url+exportOptions, params).getBlob();
// send the email to the specified address with the specified body text and attached PDF file
GmailApp.sendEmail(email, subject, body, {
htmlBody: body,
attachments: [{
fileName: `SF - Flotta Bérek (${date})` + ".pdf",
content: response.getBytes(),
mimeType: "application/pdf"
}]
});
}
我知道里面有很多多余的代码,但我对编码还很陌生,所以这是我能做的最好的了。如果我能就上述问题获得任何帮助,我将不胜感激。
毕竟,我设法让它像这样工作:
function mainSendEmail(){
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('SEND EMAIL', ui.ButtonSet.YES_NO);
if (response.getSelectedButton() == ui.Button.YES) {
//Activate sheets
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QPL').activate();
SpreadsheetApp.flush();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QWAGES').activate();
SpreadsheetApp.flush();
// Run main script to send email
emailSpreadsheetsAsPDF();
SpreadsheetApp.flush();
// Deactivate sheets
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QPL').hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QWAGES').hideSheet();
} else {
Logger.log('Do not send');
}
}
function emailSpreadsheetsAsPDF() {
const sheetToPrint1 = "CHARTS"; // name of the sheet to print
const sheetToPrint2 = "QPL"; // name of the sheet to print
const sheetToPrint3 = "QWAGES"; // name of the sheet to print
const ss = SpreadsheetApp.getActiveSpreadsheet(); // the sheets to use
const email = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I89').getValue().toString(); // grab the email address
const date = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I91').getValue().toString(); // grab the date
const subject = `SF - Flotta (${date})`; // the subject of the email
const body = emailBody; // body of the email
const shID1 = ss.getSheetByName(sheetToPrint1).getSheetId(); // the ID of the sheet
const shID2 = ss.getSheetByName(sheetToPrint2).getSheetId(); // the ID of the sheet
const shID3 = ss.getSheetByName(sheetToPrint3).getSheetId(); // the ID of the sheet
const url = 'https://docs.google.com/spreadsheets/d/SS_ID/export?'.replace('SS_ID', ss.getId()); // url of the spreadsheet
const exportOptions1 =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=true'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID1; // the sheet's Id
var params1 = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response1 = UrlFetchApp.fetch(url+exportOptions1, params1).getBlob();
const exportOptions2 =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=true'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID2; // the sheet's Id
var params2 = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response2 = UrlFetchApp.fetch(url+exportOptions2, params2).getBlob();
const exportOptions3 =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=false'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID3; // the sheet's Id
var params3 = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response3 = UrlFetchApp.fetch(url+exportOptions3, params3).getBlob();
// send the email to the specified address with the specified body text and attached PDF file
GmailApp.sendEmail(email, {} subject, body, {
htmlBody: body,
attachments: [{
fileName: `SF - Flotta (${date})` + ".pdf",
content: response1.getBytes(),
mimeType: "application/pdf"
},{
fileName: `SF - PL (${date})` + ".pdf",
content: response2.getBytes(),
mimeType: "application/pdf"
},{
fileName: `SF - Bérek (${date})` + ".pdf",
content: response3.getBytes(),
mimeType: "application/pdf"
}]
});
}
我正在尝试将特定的 sheet 作为 PDF 电子邮件附件发送。
我有下面的代码,它能够将每个指定的 sheet 作为单独的电子邮件导出和发送,但我希望它能够接受多个用户指定的 sheet 名称并发送它们都作为单个电子邮件中的单个附件。一封电子邮件中的多个附件同样有效。
我目前使用的代码:
function mainSendEmail(){
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('SEND EMAIL', ui.ButtonSet.YES_NO);
if (response.getSelectedButton() == ui.Button.YES) {
emailSpreadsheetAsPDF_CHARTS();
SpreadsheetApp.flush();
emailSpreadsheetAsPDF_PL();
SpreadsheetApp.flush();
emailSpreadsheetAsPDF_Wages();
} else {
Logger.log('Do not send');
}
}
function emailSpreadsheetAsPDF_CHARTS() {
const sheetToPrint = "CHARTS"; // name of the sheet to print
const ss = SpreadsheetApp.getActiveSpreadsheet(); // the sheets to use
const email = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I89').getValue().toString(); // grab the email address
const date = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I91').getValue().toString(); // grab the date
const subject = `SF - Flotta (${date})`; // the subject of the email
const body = emailBody; // body of the email
const shID = ss.getSheetByName(sheetToPrint).getSheetId(); // the ID of the sheet
const url = 'https://docs.google.com/spreadsheets/d/SS_ID/export?'.replace('SS_ID', ss.getId()); // url of the spreadsheet
const exportOptions =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=true'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID; // the sheet's Id
var params = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response = UrlFetchApp.fetch(url+exportOptions, params).getBlob();
// send the email to the specified address with the specified body text and attached PDF file
GmailApp.sendEmail(email, subject, body, {
htmlBody: body,
attachments: [{
fileName: `SF - Flotta (${date})` + ".pdf",
content: response.getBytes(),
mimeType: "application/pdf"
}]
});
}
function emailSpreadsheetAsPDF_PL() {
const sheetToPrint = "QPL"; // name of the sheet to print
const ss = SpreadsheetApp.getActiveSpreadsheet(); // the sheets to use
const email = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I89').getValue().toString(); // grab the email address
const date = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I91').getValue().toString(); // grab the date
const subject = `SF - Flotta PL (${date})`; // the subject of the email
const body = emailBody; // body of the email
const shID = ss.getSheetByName(sheetToPrint).getSheetId(); // the ID of the sheet
const url = 'https://docs.google.com/spreadsheets/d/SS_ID/export?'.replace('SS_ID', ss.getId()); // url of the spreadsheet
const exportOptions =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=true'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID; // the sheet's Id
var params = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response = UrlFetchApp.fetch(url+exportOptions, params).getBlob();
// send the email to the specified address with the specified body text and attached PDF file
GmailApp.sendEmail(email, subject, body, {
htmlBody: body,
attachments: [{
fileName: `SF - Flotta PL (${date})` + ".pdf",
content: response.getBytes(),
mimeType: "application/pdf"
}]
});
}
function emailSpreadsheetAsPDF_Wages() {
const sheetToPrint = "QWages"; // name of the sheet to print
const ss = SpreadsheetApp.getActiveSpreadsheet(); // the sheets to use
const email = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I89').getValue().toString(); // grab the email address
const date = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I91').getValue().toString(); // grab the date
const subject = `SF - Flotta Bérek (${date})`; // the subject of the email
const body = emailBody; // body of the email
const shID = ss.getSheetByName(sheetToPrint).getSheetId(); // the ID of the sheet
const url = 'https://docs.google.com/spreadsheets/d/SS_ID/export?'.replace('SS_ID', ss.getId()); // url of the spreadsheet
const exportOptions =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=false'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID; // the sheet's Id
var params = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response = UrlFetchApp.fetch(url+exportOptions, params).getBlob();
// send the email to the specified address with the specified body text and attached PDF file
GmailApp.sendEmail(email, subject, body, {
htmlBody: body,
attachments: [{
fileName: `SF - Flotta Bérek (${date})` + ".pdf",
content: response.getBytes(),
mimeType: "application/pdf"
}]
});
}
我知道里面有很多多余的代码,但我对编码还很陌生,所以这是我能做的最好的了。如果我能就上述问题获得任何帮助,我将不胜感激。
毕竟,我设法让它像这样工作:
function mainSendEmail(){
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('SEND EMAIL', ui.ButtonSet.YES_NO);
if (response.getSelectedButton() == ui.Button.YES) {
//Activate sheets
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QPL').activate();
SpreadsheetApp.flush();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QWAGES').activate();
SpreadsheetApp.flush();
// Run main script to send email
emailSpreadsheetsAsPDF();
SpreadsheetApp.flush();
// Deactivate sheets
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QPL').hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QWAGES').hideSheet();
} else {
Logger.log('Do not send');
}
}
function emailSpreadsheetsAsPDF() {
const sheetToPrint1 = "CHARTS"; // name of the sheet to print
const sheetToPrint2 = "QPL"; // name of the sheet to print
const sheetToPrint3 = "QWAGES"; // name of the sheet to print
const ss = SpreadsheetApp.getActiveSpreadsheet(); // the sheets to use
const email = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I89').getValue().toString(); // grab the email address
const date = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CHARTS').getRange('I91').getValue().toString(); // grab the date
const subject = `SF - Flotta (${date})`; // the subject of the email
const body = emailBody; // body of the email
const shID1 = ss.getSheetByName(sheetToPrint1).getSheetId(); // the ID of the sheet
const shID2 = ss.getSheetByName(sheetToPrint2).getSheetId(); // the ID of the sheet
const shID3 = ss.getSheetByName(sheetToPrint3).getSheetId(); // the ID of the sheet
const url = 'https://docs.google.com/spreadsheets/d/SS_ID/export?'.replace('SS_ID', ss.getId()); // url of the spreadsheet
const exportOptions1 =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=true'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID1; // the sheet's Id
var params1 = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response1 = UrlFetchApp.fetch(url+exportOptions1, params1).getBlob();
const exportOptions2 =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=true'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID2; // the sheet's Id
var params2 = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response2 = UrlFetchApp.fetch(url+exportOptions2, params2).getBlob();
const exportOptions3 =
'exportFormat=pdf'
+ '&format=pdf'// export as pdf / csv / xls / xlsx
+ '&size=A4'// size of the PDF (legal / A4 / letter)
+ '&portrait=false'// orientation of the PDF (false for landscape)
+ '&sheetnames=false'
+ '&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false'
+ '&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&horizontal_alignment=CENTER' //LEFT/CENTER/RIGHT
+ '&vertical_alignment=MIDDLE' //TOP/MIDDLE/BOTTOM
+ '&scale=' + 4 // 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
+ '&gid='+shID3; // the sheet's Id
var params3 = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
// generate the PDF file
var response3 = UrlFetchApp.fetch(url+exportOptions3, params3).getBlob();
// send the email to the specified address with the specified body text and attached PDF file
GmailApp.sendEmail(email, {} subject, body, {
htmlBody: body,
attachments: [{
fileName: `SF - Flotta (${date})` + ".pdf",
content: response1.getBytes(),
mimeType: "application/pdf"
},{
fileName: `SF - PL (${date})` + ".pdf",
content: response2.getBytes(),
mimeType: "application/pdf"
},{
fileName: `SF - Bérek (${date})` + ".pdf",
content: response3.getBytes(),
mimeType: "application/pdf"
}]
});
}