Size: a a a

Чат | Google Таблицы и скрипты

2022 January 17

u

un_excel_bot 😈 in Чат | Google Таблицы и скрипты
Anatoly (0) изменил репутацию Дамир Хафизов (246)
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
👍
источник

u

un_excel_bot 😈 in Чат | Google Таблицы и скрипты
Eugeny Namokonov (1869) изменил репутацию Дамир Хафизов (247)
источник

ИД

Игорь Дроздов... in Чат | Google Таблицы и скрипты
Вариант с другой формулой:

=ARRAYFORMULA(IFNA(VLOOKUP(FILTER(A2:A;A2:A<>"");FILTER('Лист2'!B:C;'Лист2'!A:A='Лист2'!B:B);2;0);0))
источник

A

Anatoly in Чат | Google Таблицы и скрипты
Примерно таким способом и пытался сделать, но...

Спасибо Большое))))))
источник

АТ

Александр Трифонов... in Чат | Google Таблицы и скрипты
Товарищ Виталий подсказывает, что стоит заметить: библиотека не подойдёт, чтобы спрятать код.

Вопрос: Есть какая-нибудь возможность спрятать код?
источник

MS

Michael Smirnov in Чат | Google Таблицы и скрипты
1. Написать Add-On
2. Развернуть своё приложение, высунуть наружу API.
источник

АТ

Александр Трифонов... in Чат | Google Таблицы и скрипты
Есть инструкция? Или где почитать подробнее?
источник

АС

Анатолий Сергеев... in Чат | Google Таблицы и скрипты
Это я)
При переводе не дает написать комментарии в Тинькове.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Спасибо, Анатолий! Сейчас обновим список
источник

u

un_excel_bot 😈 in Чат | Google Таблицы и скрипты
Eugeny Namokonov (1869) изменил репутацию Анатолий Сергеев (1)
источник

A

Admin in Чат | Google Таблицы и скрипты
донат
источник

u

un_excel_bot 😈 in Чат | Google Таблицы и скрипты
Донаты

Друзья, по реквизитам ниже вы можете отблагодарить сообщество!

Регулярная поддержка PATREON
Карта Тинькофф: 4377 7237 4010 3902
Яндекс Деньги
PayPal
BTC: 1uSFLGCTdKHLwMaHjTRdhb6CdkfASGPCo
TRC-20: TXY1cJBWAZ1qi2kAEPLtgaUsHGwNKN8WYE

Спасибо за поддержку! (Last-100)
🚀Анатолий С. / 350₽ / 17.01.22
🚀Ринат Ф / 500₽ / 17.01.22
🚀Nik A. / 1000₽ / 14.01.22
🚀Роман / 300₽ / 14.01.22
🚀Кирилл / 1100₽ / 10.01.22
🚀Дмитрий / 283,48₽ / 10.01.22
🚀Сергей Г. / 500₽ / 07.01.22
🚀Nik A. / 200₽ / 07.01.22
🚀Lev A. / 2500₽ / 31.12.21
🚀Sergej K. / 2000₽ / 30.12.21
источник

A

Admin in Чат | Google Таблицы и скрипты
@AnatolySergeev Благодарим за поддержку сообщества 👌🤝
источник

АС

Анатолий Сергеев... in Чат | Google Таблицы и скрипты
Друзья, привет!

Помогите, пожалуйста, направьте)
Есть файлик с шаблоном документа.
https://docs.google.com/spreadsheets/d/1wZrE73mx8l83TgFBIe5p1A9hlXzAbFjamWMEhhAsnQU/edit#gid=2043755518

Моя задачка:
1) Я беру список из 500 человек (из другой таблицы, эта часть в скрипте еще не описана). Подставляю в нужные ячейки данные.
2) Из оглавления взял скрипт с экспортом таблицы в PDF. Сохряняю этот PDF в отдельной папочке.

Все работает хорошо, кроме одного момента - когда вставляю ФИО пользователя в ячейки, документ их ооочень медленно обновляет, и первые 20-25 PDF получаются с предыдущим пользователем.
Ставил задержку в 25-30 сек - не помогло.

Как тут быть? Помогите, пожалуйста.



function toPdf(ss, shNameRange) {
 let [shName, range] = shNameRange.split("|").map(g => g.trim());
 const sh = ss.getSheetByName(shName);

 let rangeLink;
 if (range) {
   range = range.split(":");
   const [r1, c1] = cellA1ToIndex(range[0]);
   const [r2, c2] = cellA1ToIndex(range[1]);
   rangeLink = `&r1=${r1}&c1=${c1}&r2=${r2}&c2=${c2+1}`
 }

 var url = "https://docs.google.com/spreadsheets/export?id=" + ss.getId()
   + "&gid=" + sh.getSheetId()
   + "&exportFormat=pdf"
   + (rangeLink ? rangeLink : '')
   + '&size=A4'                      //A3/A4/A5/B4/B5/letter/tabloid/legal/statement/executive/folio
   + '&portrait=true'               //true= Potrait / false= Landscape
   + '&fitw=true'                    //fit window or actual size
   + '&top_margin=0.1'              //All four margins must be set!
   + '&bottom_margin=0.1'           //All four margins must be set!
   + '&left_margin=0.1'             //All four margins must be set!
   + '&right_margin=0.1'            //All four margins must be set!
   + '&gridlines=false'              //true/false
   + '&printnotes=false'
   + '&horizontal_alignment=CENTER'  //LEFT/CENTER/RIGHT
   + '&vertical_alignment=TOP'       //TOP/MIDDLE/BOTTOM
   + '&printtitle=false'             //true/false
   + '&sheetnames=false'             //true/false
   + '&fzr=false'                    //true/false
   + '&fzc=false'                    //true/false
   + '&attachment=false'             //true/false

 //другие параметры превращение в PDF смотрите здесь: https://stackoverflow.com/questions/46088042/margins-parameters-for-spreadsheet-export/46312255#46312255
 
 var token = ScriptApp.getOAuthToken();
 return response = UrlFetchApp.fetch(url, {
   headers: {
     'Authorization': 'Bearer ' + token
   }
 }).getBlob();
}




function createPDF(){
 const sheetName = "Ф7П";

 const PDF_folder = DriveApp.getFolderById("11uG_ak-KlDknMxdDSiQVz-j-eWD_sU5R2");
 // const TEMP_FOLDER = DriveApp.getFolderById("11uG_ak-KlDknMxdDSiQVz-j-eWD_sU5R2");
 // const PDF_Template = DriveApp.getFileById("11l9AovqPWxW9-mVyPlPcVjJXXtna1CVTA31IrDg31i7g");


 // const newTempFile = PDF_Template.makeCopy(TEMP_FOLDER);
 // Открываем файл с шаблоном формы Ф7П
 // const ss0 = SpreadsheetApp.openById(PDF_Template.getId());
 const ss0 = SpreadsheetApp.getActiveSpreadsheet();

 // Открываем настройки
 const sh0 = ss0.getSheetByName(sheetName);

 // Блок настроек в файле с шаблоном
 const ot_kogo = 'V30';
 var student_fio = "";


 var r = ['eeeeeeeeeeeeeeeeee', 'rrrrrrrrrrrrrrrrrrrr', 'ttttttttttttttttttttttt'];
 for(x=0; x<r.length; x++){
   student_fio = String(r[x]);
   Logger.log( student_fio );
   sh0.getRange(ot_kogo).setValue( student_fio );
   sh0.getRange(ot_kogo).activateAsCurrentCell();
   Utilities.sleep(20000);
   
   var blob = toPdf(ss0, "Ф7П");  
   var pdfFile =  PDF_folder.createFile(blob).setName( student_fio + ".pdf" );
   student_fio = "";


 }

 
}
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Привет. Нужно добавить spreadsheet.flush() после вставки новых данных.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
SpreadsheetApp.flush()
источник

АС

Анатолий Сергеев... in Чат | Google Таблицы и скрипты
Евгений, Спасибо!

Заработало как надо. 👍🚀🔥
источник

u

un_excel_bot 😈 in Чат | Google Таблицы и скрипты
Анатолий Сергеев (1) изменил репутацию Eugeny Namokonov (1870)
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
😊🤟
источник