Ежемесячный отчет
Вы предоставляете: триггер, SpreadsheetId, SheetName, ваш адрес электронной почты и FolderId.
function firstDayOfTheMonthReport() {
var ss=SpreadsheetApp.openById('SpreadsheetId');
var shts=ss.getSheets();
for(var i=0;i<shts.length;i++) {
if(shts[i].getName()!='SheetName') {
shts[i].hideSheet();
}
}
var fileid=ss.getId();
var folder=DriveApp.getFolderById('FolderId');
var name=Utilities.formatString('%s Form Data', Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MMM"));
var fileblob=DriveApp.getFileById(fileid).getBlob().getAs('application/pdf').setName(name);
var file=folder.createFile(fileblob);
GmailApp.sendEmail('your email', 'Monthly Report', 'Report in Attachments', {attachments:[file.getAs(MimeType.PDF)]});
}
Версия, которую вы запросили и, возможно, немного больше.
ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ ЭТИ ИНСТРУКЦИИ, ПРЕЖДЕ ЧЕМ НАЧАТЬ СЦЕНАРИЙ
- Вам необходимо предоставить Триггер.
- Вам необходимо предоставить SpreadsheetId.
- Вам необходимо указать FolderId, в котором хранятся файлы PDF.
- Вам необходимо указать адрес электронной почты
- Вы должны предоставить имена листов, которые вы хотите в PDF. Вам нужно будет поставить туда имена в pdfshtsA. Примерно так: pdfshtsA = ['SheetName1', 'SheetName2', .....]. Вы также помещаете скрытые листы в отчет PDF, и после отправки отчета они возвращаются в скрытое состояние.
Сценарий:
function firstDayOfTheMonthReport1() {
var ss=SpreadsheetApp.openById('SpreadsheetId');//You have to provide this Spreadsheet Id
var shts=ss.getSheets();
var pdfshtsA=['Sheet1'];//You have to put sheetnames that you want included in pdf in here you can included hidden sheets if you wish they will hidden again after the pdfs are created and the email is sent.
var visshtsA=[];//The script will put current visible sheets that are not in the above list
var hidshtsA=[];//The script will put sheets that are in pdfshtsA but are currently hidden so that they can be in the pdf and then hidden afterward
for(var i=0;i<shts.length;i++) {
if(pdfshtsA.indexOf(shts[i].getName()) == -1) {
if(!shts[i].isSheetHidden()) {
visshtsA.push(shts[i].getName());
shts[i].hideSheet();
}
}else{
if(shts[i].isSheetHidden()) {
hidshtsA.push(shts[i].getName());
shts[i].showSheet();
}
}
}
var fileid=ss.getId();
var folder=DriveApp.getFolderById('FolderId');//You need to provide the FolderId
var name=Utilities.formatString('%s Form Data', Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MMM"));
var fileblob=DriveApp.getFileById(fileid).getBlob().getAs('application/pdf').setName(name);
var file=folder.createFile(fileblob);
GmailApp.sendEmail('your email', 'Monthly Report', 'Report in Attachments', {attachments:[file.getAs(MimeType.PDF)]});
for(var i=0;i<visshtsA.length;i++) {
ss.getSheetByName(visshtsA[i]).showSheet();
}
for(var i=0;i<hidshtsA.length;i++) {
ss.getSheetByName(hidshtsA[i]).hideSheet();
}
}