Я работаю над программой дневников в GSheet и столкнулся с новой загадкой. Мне нужно спрятать все листы, кроме листа «Отчет студента», а затем в формате PDF и отправить их по электронной почте. Это работало замечательно, пока я не получил отчет о том, что сценарий не завершил скрытие листов, а затем продолжил делать PDF-файлы. Я добавил "сон", но надеялся на более активный подход.
Я пришел к этой идее, но она просто вышла из строя. Я надеюсь, что у меня будет время, пока l oop будет проверять скрытый атрибут листов ... когда все, кроме одного, скрыто (т. Е. Отчет ученика) .... оно должно go впереди , Буду признателен за любую помощь.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets();
var sheetName = "Student Report";
for(var i=0;i<sheets.length; i++){
if(sheets[i].getName()!=sheetName){
sheets[i].hideSheet();
}}
var StudentReport = ss.getSheetByName("Student Report");
ss.setActiveSheet(StudentReport);
do {
for (var k=0;k<sheets.length;k++){
var CountVisible = sheets.length;
if(sheets[k].isSheetHidden()){
CountVisible = CountVisible -1;
Logger.log(CountVisible);
}}
} while (CountVisible!=0);
//added wait time to esnure all sheets are properly hidden before next step
// Utilities.sleep(400);
В качестве альтернативы, если кто-то знает, как просто PDF-файл одного листа ... это решит проблему хорошо.